Изменениеразмераизображений
Изменениеразмераизображений
Подизайнустраницыконференциифотографиидолжныбытьразмеромнеболее200 x150пикселей。Можеттогданамстоитоптимизироватьиуменьшатьизображения,вслучаееслизагруженныефотографиипревышаютуказанныймаксимальныйразмер吗?
Идеальнымрешениембудетвключитьтакуюоперациювбизнес-процесскомментария:послепроверкиипередпубликациейкомментария。
Давайтедобавимновоесостояние准备好了
ипереход优化
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29
- - - / config /包/ workflow.yaml+ + + b / config /包/ workflow.yaml@@ -16 6 + 16 7 @@框架:potential_spam -垃圾邮件拒绝+ -准备好了-发布转换:接受:-29年@@ 13 + 30,16 @@框架::垃圾邮件发布:从:potential_spam-:发表+:准备好了拒绝:从:potential_spam:拒绝publish_ham::火腿-:发表+:准备好了reject_ham:从:火腿:拒绝+优化:+:准备好了发表的:+
Посмотрим,каквизуальновыглядитизмененныйбизнес-процесс,чтобыубедиться,чтоонкорректносоставлен:
1
美元ob娱乐下载symfony控制台工作流:转储|点-Tpng - o workflow.png置评
Оптимизацияизображенийспомощью想象
ОптимизироватьизображениябудемчерезмодульGD(долженбытьустановленнавашемкомпьютере)и想象一下:
1
美元ob娱乐下载symfony作曲家要求“想象/想象:^ 1.2”
Изменениеразмераизображениябудетпроисходитьвотдельномсервисномклассе:
Послеоптимизациифотографиизаменяемисходныйфайлнановый。Хотя、возможнопокаким-либопричинамвырешитеоставитьоригинальноеизображение。
Добавлениеновогошагавбизнес-процесс
Добавьтевбизнес-процессобработкуновогосостояния:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47岁
推荐- - - - - - MessageHandler / src / / CommentMessageHandler.php+ + + MessageHandler b / src / / CommentMessageHandler.php@@ 2,6 + 2,7 @@名称空间的应用程序\ MessageHandler;+使用App \ ImageOptimizer;使用App \ \ CommentMessage消息;使用App \ Repository \ CommentRepository;使用App \ SpamChecker;@@ -21年10 + 22日12 @@类CommentMessageHandler实现MessageHandlerInterface私人美元总线;私人美元工作流;私人美元梅勒;+私人imageOptimizer美元;私人adminEmail美元;+私人photoDir美元;私人美元记录器;公共函数__construct (EntityManagerInterface entityManager美元,SpamChecker SpamChecker美元,CommentRepository CommentRepository美元,美元MessageBusInterface巴士,WorkflowInterface commentStateMachine美元,美元MailerInterface梅勒,字符串adminEmail美元,美元LoggerInterface记录器= null)+公共职能__construct (EntityManagerInterface entityManager美元,SpamChecker SpamChecker美元,CommentRepository CommentRepository美元,美元MessageBusInterface巴士,WorkflowInterface commentStateMachine美元,美元MailerInterface梅勒,ImageOptimizer ImageOptimizer美元,字符串adminEmail美元,字符串photoDir美元,美元LoggerInterface记录器= null){$ this - > entityManager = $ entityManager;$ this - > spamChecker = $ spamChecker;@@ -32 35 7 + 9 @@类CommentMessageHandler实现MessageHandlerInterface $ this - >总线= $总线;= $ $ this - >工作流commentStateMachine;$ this - >梅勒= $梅勒;+ $ this - > imageOptimizer = $ imageOptimizer;$ this - > adminEmail = $ adminEmail;+ $ this - > photoDir = $ photoDir;$ this - >日志记录器= $记录器;}@@ -64、6 + 69,12 @@类CommentMessageHandler实现MessageHandlerInterface - > ($ this - > adminEmail) - >上下文([“评论”= >评论美元]));+}elseif ($ this - >工作流- >(评论美元,“优化”)){+如果($评论- > getPhotoFilename ()) {+ $ this - > imageOptimizer - >调整($ this - > photoDir。‘/’。$评论- > getPhotoFilename ());+}+ $ this - >工作流- >应用(美元评论,“优化”);+ $ this - > entityManager - >冲洗();}elseif ($ this - >日志记录器){$ this - >日志- >调试(“删除评论消息”,(“评论”= > $评论- > getId(),“国家”= > $评论- > getState ()));}
ОбратитевниманиенаавтоматическидоступнуюпеременнуюphotoDir美元
,таккакранееводномизпредыдущихшаговкэтомуименипеременнойвконтейнеремыпривязалисоответствующийпараметр:
Хранениезагруженныхданныхвпродакшене
Вконфигурационномфайле.platform.app.yaml
ужеуказанаспециальнаядиректориядлячтенияизаписизагруженныхфотографий。Однакоонасмонтированатольколокально。Чтобыкданнойдиректорииимелидоступвеб-контейнериворкердляобработкисообщенийвочереди,нужносоздатьфайловыйсервис:
1 2 3 4 5 6 7 8 9 10
- - - / .platform / services.yaml+ + + b / .platform / services.yaml@@ -11年7 @@清漆:vcl: 3 + 11日!包括类型:字符串路径:config.vcl++文件:+类型:网络存储:1.0+磁盘:256
Используйтеегодлядиректориизагруженныхфотографий:
1 2 3 4 5 6 7 8 9 10 11
- - - a / .platform.app.yaml+ + + b / .platform.app.yaml@@ -35 7 + 35 7 @@网络:坐骑:" / var ":{来源:当地source_path: var}——“公共/上传”:{来源:当地source_path:上传}+ " /公共/上传”:{来源:服务、服务:文件source_path:上传}关系:数据库:数据库:postgresql”
Этогодолжнобытьдостаточнодляработывпродакшене。