Как стать автором
Обновить

Почему я выбрал Yii2

Время на прочтение6 мин
Количество просмотров57K
Перевод некоторых глав из книги Bill Keck. Yii 2 For Beginners.

Предисловие


Добро пожаловать в Yii2 для начинающих. Эта книга проведёт вас шаг за шагом сквозь установку и развёртывание, а затем программирование на сегодняшний день самом увлекательном фреймворке Yii2.

Yii2 поставляется в двух вариантах, basic и advanced, и может показаться неестественно, использовать для начинающих шаблон advanced(продвинутый), но этот шаблон, по иронии судьбы, облегчает работу с приложением, если оно использует модели, которые хранятся в базе данных. Современные веб-приложения нуждаются в этой функциональности и шаблон advanced имеет в своём распоряжении для этого готовые решения.

Другое большое преимущество у шаблона advanced, это то, что приложение делится на frontend(пользовательская часть) и backend(модуль управления), который дает исчерпывающий ответ на постоянно возникающий вопрос: «куда же поместить модуль управления?»
Я бы хотел не только ввести вас в удивительный мир php фреймворка, но и так, же дать вам точку опоры, включающую все, в чем нуждается надежное веб-приложение управляемое базой данных. Хотя advanced шаблон содержит чрезвычайно полезные возможности, в нем, конечно же, отсутствуют важные части, которые мы будем пополнять с помощью этой книги.

Цель — предоставить вам модель шаблона, которую вы сможете использовать для всех ваших будущих проектов.

Возможности


С инсталляцией advanced шаблона вы получите некоторые возможности веб-приложения, включающие в себя:

  • предопределённую схему таблицы пользователей
  • форму входа и регистрации пользователей
  • функциональность восстановления забытого пароля
  • разделённые области пользователей (frontend) и администраторов(backend)
  • автоматическую генерацию кода для моделей, контроллеров и представлений
  • встроенную интеграцию с Twitter Bootstrap и приоритетную верстку для мобильных устройств
  • надежные виджеты и помощники для представления данных


Если вам что-то не понятно в этом списке, не волнуйтесь, мы раскроем их детально в дальнейшем. Только, знайте — это действительно изумительно, что делает Yii2 для вас. Но дело не в том, как велик тот или иной фреймворк, а в том, как вы все, же сможете это поддерживать и развивать в реальном приложении.

Для этого будем добавлять в приложение все, что в нем отсутствует из коробки:

  • красивые усовершенствования пользовательского интерфейса подобно jquery календарю
  • методы для зависимых моделей, которые облегчат отображения связанных данных
  • методы для контроллеров, которые разграничивают доступ
  • расширяемая структура данных, которые будут общими для всех ваших будущих приложений
  • управление доступом на основе ролей (RBAC)
  • ограничение содержания на основе типа пользователей, таких как «бесплатный» и «платный».
  • социальный модуль, который позволит поделиться
  • регистрация и вход с помощью Facebook

Это всё, вероятно потребуются для вашего приложения, не взирая на то, кого типа он будет. Поэтому если вы будете изучать Yii2 с помощь этой книги, вы будете в состоянии создать шаблон, который сможете расширять для всех ваших будущих приложений.

Эта книга идеальна для начинающих программистов, кто готов перейти на разработку с помощью фреймворка. Yii2 PHP фреймворк широко масштабируемый и расширяемый, со встроенными возможностями. Мы познакомим вас с этим удивительным фреймворком и объясним детально все, в чём вы будете нуждаться, чтобы знать, как создать и запустить. И вы полюбите Yii2!

Продвинутые PHP специалисты смогут стремительно пронестись сквозь книгу и будут в состоянии быстро создавать и запускать на феноменальном фреймворке Yii2. Что позволит не только сберечь им время на работе, но так, же использовать эффективные рычаги извлечения выгод от фреймворка с открытым кодом, имеющего цельное сообщество за собой.

Тем не менее, стиль изложения в книге рассчитан для начинающих. В книге много подробного описания, чтобы помочь людям, которые имеют небольшой опыт работы с PHP и ещё не могут реально перейти в продвинутое объектно-ориентированное программирование. Мы старались, несомненно, полностью объяснять, как работает фреймворк, как он использует ООП, чтобы создать интуитивный уровень разработки, который позволял бы программистам различного уровня достигать результата, к которому они стремятся.

В любом случае, изучение Yii2 даст вам опыт работы с ООП, с практическим результатом. Вы завершите изучение книги с работающим веб-приложением.

Что делает Yii2 фреймворк особенным?


Программисты должны сделать выбор, что будет лежать в основе программирования. Поэтому одно из самых больших решений, которое вы должны сделать как программист, а, может, скорее всего, решение вы будете делать, как часть команды программистов, использовать или нет фреймворк, и если да, то какой.

Что касается вопроса использования PHP фреймворк, есть так много преимуществ, чтобы поступить так, что это становится и ежу понятно.

Плюсы

Вот несколько очевидных преимуществ использования фреймворка, который:
— Использует стандартные способы решения задач, что уменьшает или устраняет запутанность кода.
— Сокращает время, затрачиваемое на рутинные задачи, такие как проверка форм и безопасность.
— Облегчает командную работу с помощью соблюдения стандартов.
— Облегчает поддержку кода с использованием общей архитектуры и методов.
— Имеет активное сообщество разработчиков, которые поддерживают фреймворк, обобщенные задачи и новые возможности.

Минусы

Существует пара недостатков использования фреймворка, которые следует отметить. Во-первых, весь код, который включает в себя фреймворк, создает нагрузку на сервер и это может стать реальной проблемой. К счастью, доступны варианты кэширование, которые позволяют снизить последствия перегрузки, и для корпоративных приложений, вы можете использовать нативный SQL, чтобы минимизировать время выполнения запроса. Поэтому проблема перегрузки сервера не должна остановить вас от использования фреймворка.

Другое дело, очевидно, когда вы работаете с фреймворком, то работаете с огромным количеством кода, который не вы писали и придётся потратить время, чтобы понять, как это все работает. Некоторые части кода могут быть довольно непонятны в зависимости от вашего уровня мастерства и опыта, поэтому не следует ожидать, что вам будет сразу все понятно. Это не произойдёт мгновенно.

Конечно же, вы знаете, что существует путь обучения, благодаря которому вы сейчас читаете эту книгу. И хотя это занимает время, чтобы разобраться с чужим кодом, что может быть мучительно больно, но куда больнее, написать собственную пользовательскую систему с нуля. Учитывая все обстоятельства, использование фреймворка для корпоративной разработки является разумным выбором.

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

Почему я выбрал Yii2


Я не могу сказать какой фреймворк для вас лучший, что вам интересно и вам лично решать, но я могу немного рассказать о дороге, которая привела меня к Yii2. Это не было решением руководимым необходимостью найти легкий путь изучения PHP, это точно. В моей компании еще в 2012 году, я был в команде разработчиков, которые рассматривали различные фреймворки и должен был решить, какой из них использовать. В то время я даже не мечтал, что напишу книги об одном из них.

В любом случае, мы коллективно исследовали все, что могли найти из основных PHP-фреймворков. Я лично прочитал всю документацию и мы имели долгие инженерные дискуссии о том, что мы думали, что будет работать. Вы не представляете мое разочарование, когда я прочитал всю эту документацию и отошел от этого с чувством менее осведомленным, чем я прежде начал читать все это.

Однако наша команда программистов сделала предпочтение. Они чувствовали, что Yii 1.1.14 был лучшим выбором. Это была версия фреймворка, которая была доступна в то время, мы выбрали её. Поэтому команда приняла этот фреймворк и никогда не оглядывалась назад. Они полюбили её.
Я, с другой стороны, остался разочарованным. Так как я был только начинающим программистом, и действительно изо всех сил пытался этому научиться. Я не находил этот фреймворк очень интуитивным и понятным. Особенно после сравнения его с другими платформами, где старались все интегрировать красиво, а архитектура Yii казалась мне просто уродливой.

Я так расстроился в один прекрасный момент, что начал искать другой вариант.

Другие варианты


Я хотел найти красиво написанную документацию для нового фреймворка и запустить её мимо команды. Но всегда получал одинаковый ответ. Команда была довольна фреймворком Yii.

Они мне говорили, что может быть трудно её изучать, но она легка в использовании, как только поймете, как она работает. Поэтому я посвятил себя изучению выбранного командой фреймворка. Дело продвигалось медленно и езда была ухабистая. Я не получал удовольствия. Я прорабатывал главу 10 в книге по Yii 1.1.14, полагая, что никогда по-настоящему не смогу самостоятельно создать приложение менее чем за сто лет. Слишком много дорог, казалось, уходили в никуда.

Затем произошло чудо.

Появление Yii2


Я нашел Yii2 Альфа. Мне было любопытно увидеть, какие различия были в Yii2, по сравнению с бывшей 3 года на тот момент платформой. Так что я нырнул в неё и к моему глубокому и полному удивлению, я мгновенно получил с ней контакт. Я понимал структуры. Я мог бы написать код, который фактически работал!

Какое это было великое чувство. Я лично нашел, что Yii 2 будет наиболее интуитивно понятной и элегантной из всех PHP-фреймворков, которые я изучал. У меня столько энтузиазма, что я хочу поделиться им, с каждым программистом которого знаю, и даже тех, кого я не знаю, что побудило меня написать эту книгу.

С помощью Yii2, даже будучи новичком, я смог поднять на ноги рабочий сайт, который имел управляемую базой данных модель пользователей, с пользовательской и администраторской частью. Прямо из коробки, я получил рабочую модель пользователей, с функцией восстановления забытого пароля, которая также интегрирована с начальной загрузки для мобильного, отзывчивого дизайна, без программирования вообще.

Как это здорово! Хотя я был начинающий программист, когда изучал PHP-фреймворки, я не имел опыта работы с базами данных и это одна из областей, на мой взгляд, где Yii2 действительно блещет.
Теги:
Хабы:
Всего голосов 29: ↑13 и ↓16-3
Комментарии37

Публикации

Истории

Работа

PHP программист
147 вакансий

Ближайшие события