Это одна из восстановленных статей старого блога, она была написана в 2012 году для первой версии Yii, поэтому сейчас уже не актуальна, оставил на память 🙂

Уже, примерно, около года я присматриваюсь к фреймворкам, но пока до них руки не доходили, то одолевала лень, то было много заказов и для изучения чего-то нового не хватало времени. Но теперь, я все таки решил попробовать изучить один из фреймверков — YII. Почему я выбрал YII для изучения, а не Zend, CI или что-нибудь еще? Здесь все просто, на форумах больше всего хвалили его (по крайней мере на тех, где я спрашивал) и посоветовали несколько приличных сайтов с примерами и русской документацией.

Кроме желания повысить свою квалификацию веб-программиста и изучения нового, есть еще и другая сторона изучения фреймворков — повышения уровня заработка. Иногда на free-lance.ru (там я беру для себя заказы) мне попадаются проекты с требованием разработать сайт на каком-нибудь фреймворке, причем платят за выполнение такого заказа обычно в 4-5 раз больше чем за «чистый» php и самописные cms’ки на нем. Обычно  за один заказ можно выручить 5-20 т.р., при сроке выполнения заказа 1-2 недели, но если брать крупные заказы на YII (или на чем-нибудь другом), то сумма колеблется от 40 до 120 т.р. Эти цифры я взял не с потолка, а из своего опыта. Цифра в 120 т.р. взялась от одного из моих заказчиков: нужно было реализовать на YII портал развлечений, платили щедро, да и сроки были нормальные — 45-50 дней. Но этот заказ, как вы понимаете, взять не получилось, т.к. я бы его не смог его выполнить и мне пришлось отдать заказ другому программисту. В тот момент я понял, что нужно расти и в «чистом» php мне уже становится тесно.

О фреймворках пока знаю не много, но все таки напишу то, что о них(точнее о YII) удалось узнать за пару минут использования гугла:

  • Высокая производительность
  • Паттерн Модель-вид-контроллер
  • Интерфейсы DAO и ActiveRecord для работы с базами данных (PDO)
  • Поддержка интернационализации
  • Кэширование страниц и отдельных фрагментов
  • Перехват и обработка ошибок
  • Ввод и валидация форм (англ.)русск.
  • Аутентификация и авторизация
  • Использование AJAXи интеграция с jQuery
  • Генерация базового PHP-кода для CRUD-операций (скаффолдинг)
  • Поддержка тем оформления для их лёгкой смены
  • Возможность подключения сторонних библиотек
  • Миграции базы данных
  • Автоматическое тестирование
  • Поддержка REST

Это отрывок из википедии. Что из всего этого можно извлечь? Я понял вот что: ничего особенного в использовании фреймворков нет, просто это набор готовых библиотек и компонентов, которые можно использовать сразу же (или дорабатывать под себя). Когда мы пишем сайты на чистом PHP, то каждый раз мы начинаем все создавать заново: и аутентификацию пользователей, и проверку данных, полученных от пользователя (валидация форм) и т.д., а на фреймворках это уже реализовано и протестировано.

Кроме всего этого фреймворк YII (наверно как и большинство других) использует модель MVC — Model-View-Controller (Модель-Представление-Контроллер), ее смысл состоит в разделении php-кода (логики), обработки информации (бд) и выводом этого всего пользователю (представления).

На этом пока все. Как будут появляться результаты по изучению YII, я обязательно поделюсь. Удачи в изучении фреймворков!

Добавить комментарий