Программирование
В комментариях к предыдущей статье появилось предложение пошагово разобрать процесс разработки целого приложения на Yii2. Инструкция по созданию блога выложена в официальном руководстве. Пока для первой части, но это, думаю, ненадолго. Конечно же, там не было раскрыто специфических моментов, но, тем не менее, руководство имелось. Оно открыто для изменений: каждый знакомый с системами контроля версий может это руководство и блог доработать.
С момента предыдущей публикации на сайте прошло два месяца. За это время практически наступило лето, начал набирать обороты мой замороженный с декабря по апрель марафонский контентный проект, изучено много материалов в различных областях знаний. Но главное событие этой весны для некоторых программистов – это выход beta-версии нового Yii 2.0. Это не может не радовать, так как практически на наших глазах произошёл вход Yii в экосистему фреймворков нового поколения.
Хотите сделать приятелю или самому себе подарок в какой-нибудь знаменательный день? Любому человеку, который ведёт какой-нибудь блог и совмещает с этим активную жизнь в твиттере. Ведь не так уж и сложно добавить своему сайту несколько дополнительных переходов из этого микроблога.
Недавно в обратную связь поступил вопрос. Один из читателей поинтересовался, как можно сделать удобный вывод иерархических данных, построенных по принципу Adjacency List, в виджете CGridView вместо CTreeView. Это, например, могут быть вложенные статические страницы, категории или пункты меню, хранимые в базе данных. Попробуем решить этот вопрос.
Мир PHP-разработки с давних времён славится хаотической практикой создания зависимых самописных неуниверсальных систем. И приверженцы остальных языков над ним смеялись. В последние годы, что действительно хорошо, он всё более масштабно переходит к другому, более осознанному будущему. Интересная для многих практика социального программирования с использованием публичных репозиториев привнесла идею обобщении полученных знаний.
При построении любого сайта в какой-то момент разработчик сталкивается с требованиями поисковой оптимизации. Традиционно она включает в себя построение правильной адресной структуры, исключение из индексации служебных страниц и неинтересных для поискового робота фрагментов, добавление метаинформации для записей. Более расширенный вариант подразумевает специфическое распределение ссылочного веса и борьбу с дубликатами адресов.
Три программиста пишут код проекта. И с кодом у них нет проблем. Есть три рабочих машины, центральный репозиторий и главный рабочий сервер, берущий файлы из этого же репозитория. Работа кипит. у каждого на своём компьютере установлен PhpMyAdmin, что им позволяет время от времени вносить изменения в свою базу данных.
На прошлом уроке мы познакомились с консольным режимом в PHP и с консольными командами в Yii. Теперь пришла пора собрать вместе наши знания и перейти к практике. При разработке любых проектов удобно разделять CSS и JavaScript на отдельные файлы, но их обилие в секции HEAD заметно уменьшает скорость загрузки веб-страницы. Итак, поехали!
Для решения специфических задач часто используются готовые консольные команды. Но намного интереснее не только использовать чужие, но и уметь создавать свои. Это поможет легко автоматизировать любую рутинную работу, на которую обычно тратится довольно много времени. Многие фреймворки имеют встроенные инструменты для написания не только самих веб-приложений, но и для создания инфраструктуры пользовательских консольных команд.
В первой части мы с вами рассмотрели работу системы маршрутизации, изучили некоторые нюансы и научились правильно составлять шаблоны адресов. В этой же части мы попробуем перейти непосредственно к пониманию работы и нюансам использования менеджера адресов в Yii Framework.