Статьи

Введение в Yii Framework

Конечный продукт
Что вы будете создавать

Написание «Hello World» на PHP довольно легко, но создание реального веб-приложения быстро усложняется. Как только вы захотите управлять безопасностью, писать DRY- код или использовать методы проектирования MVC , PHP, похоже, не хватает. В прошлом я работал с Ruby on Rails, но обнаружил, что с этим еще многое сложно, особенно когда речь идет о хостинге и развертывании экономичным и гибким способом.

Это где PHP фреймворки входят.

Существует множество хороших PHP-фреймворков: Symfony , Cake , Zend , CodeIgniter , Laravel и мой любимый Yii . Yii — это бесплатная среда с открытым исходным кодом для PHP5, которая поддерживает чистый, СУХОЙ дизайн и поддерживает быструю разработку. Я обнаружил, что Yii предлагает широту всего, что я ожидаю от фреймворка в высокопроизводительном пакете, с некоторыми ограничениями, которые накладывают другие фреймворки PHP.

Upstart медиа-сайт Vice написан на Yii, как альтернатива WordPress для начинающих разработчиков, CraftCMS (см. @Reifman для моего нового вступления в CraftCMS).

Yii’s выделяется своей производительностью , что очень важно при принятии фреймворка:

Инфраструктура Yii также предлагает широкий спектр возможностей, которые позволяют мне быстро и легко писать оптимизированные веб-приложения. И, что важно, Yii также предлагает отличную документацию и поддержку сообщества.

Yii зрелый, проверенный временем и стабильный. Выпуск 1.x, созданный разработчиком Qiang Xue , существует с 2008 года. Выпуск 2.0 ожидается на мгновение, они только заканчивают работу над документацией и финальным тестированием .

Для высокопроизводительной платформы широкие возможности и набор функций Yii весьма необычны, и это одна из причин, по которой меня привлекла среда. Вы можете увидеть и попробовать некоторые примеры кода Yii в действии на Yii Playground .

Вот некоторые основные моменты :

  • Архитектура Модель-Вид-Контроллер. Как и Ruby on Rails, теперь вы можете использовать MVC в своих PHP-приложениях.
  • Объекты доступа к базе данных (DAO), Active Record и программные миграции баз данных упрощают задачи создания веб-приложений на основе базы данных.
  • Ввод формы, проверка и поддержка Ajax встроены. Yii делает формы довольно легкими.
  • Встроенная аутентификация и мощные расширения для управления пользователями облегчают запуск новых веб-приложений.
  • Gii, встроенный в Yii инструмент генерации кода, ускоряет процесс разработки вашего приложения в стиле MVC
  • Консоль Yii. Вы можете запустить Yii из командной строки или как демон. Благодаря этому можно создавать высокопроизводительные фоновые задачи в PHP.
  • Тематические опции, такие как расширение Bootstrap, значительно упрощают создание великолепно реагирующих приложений.
  • Поддержка многоуровневого кэширования Yii позволяет легко реализовать те виды кэширования, которые имеют смысл для вашего приложения.
  • Безопасность. Yii значительно минимизирует типичные факторы риска запуска сервисов с PHP и MySQL
  • Интеграция с другими фреймворками. В Yii легко использовать функции Zend или PEAR
  • Расширения. Сообщество Yii предлагает множество бесплатных плагинов и виджетов с открытым исходным кодом.
  • Интернационализация. Yii поддерживает I18N и упрощает предоставление локализованных версий вашего приложения.
  • Обработка ошибок, регистрация и тестирование — да, Yii поставляет.

Сообщество Yii также приобрело неограниченную лицензию на прекрасный веб-редактор Redactor — так что вы можете использовать его в любом из своих приложений Yii. Это отлично подходит для расширенного форматированного ввода или функций CMS.

Документация и сообщество Yii также являются отличными функциями. Есть несколько отличных электронных книг, которые помогут вам начать работу.

Yii был ключевой частью моей возросшей производительности за последние два года. Yii облегчил мне создание ряда веб-приложений:

  • Упростите фильтры электронной почты, управляйте и отправляйте дайджесты для моей электронной почты, упрощая стычку современного общения и предоставляя новые мощные функции, такие как тихая работа электронной почты. Он интегрируется с библиотекой PHP IMAP, API Mailgun, а также Pushover API для уведомлений.
  • Geogram — это концептуальный проект, предлагающий группы электронной почты для районов и мест. Geogram интегрируется с данными о окрестностях Zillow , Google Maps, Google Places и Mailgun.
  • Simple Monitor контролирует мои сайты WordPress и состояние моих серверов. Когда что-то идет не так, он отправляет уведомление iOS на мой телефон.

Код для Simplify Email и Simple Monitor доступен для покупки, если вы хотите просмотреть более глубокий код Yii. Я также написал несколько уроков по Yii .

Некоторые из моих любимых расширений Yii включают Yii User , Yii Bootstrap , Redactor и Yii Hybridauth .

Yii 2.0 готовится к выпуску (следуйте плану разработки ). Бета-заметки Yii2 лучше всего суммируют улучшения от Yii 1.x.

Отчасти из-за того, насколько продвинутым был Yii 1.x, в Yii2 нет ни одной удивительной функции, но есть широкий набор существенных улучшений, которые будут значительно облегчать жизнь разработчикам Yii.

Вот несколько основных моментов:

  • Поддержка автозагрузки класса PSR-4, упрощение пространств имен, ускорение загрузки и повышение удобства использования для разработчиков.
  • Улучшения производительности и безопасности
  • Интеграция инфраструктуры RESTful API для облегчения создания API
  • Интеграция тестирования Codeception
  • Улучшения базы данных и активных записей, включая пакетные запросы, поддержку подзапросов и обратных связей
  • Улучшена обработка и обработка URL
  • Переводы основных сообщений доступны на 26 языках
  • Генератор документации

Начать работу с Yii довольно легко из-за его выдающейся документации. Вот несколько вещей, чтобы попробовать:

Я чрезвычайно взволнован Yii 2.0 и будущим Yii как PHP-фреймворка. Это повысило мою эффективность как разработчика и консультанта. Надеюсь, вы найдете Yii таким же интересным и полезным, как и я.

Если у вас есть какие-либо вопросы или исправления, пожалуйста, оставьте их в комментариях. Если вы хотите быть в курсе моих будущих уроков Tuts + и других серий, пожалуйста, следуйте @reifman или посетите страницу моего автора .