Начинаем изучать YII!

PHP
Начинаем изучать 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-кода (логики), обработки информации (бд) и выводом этого всего пользователю (представления).

7 комментариев

AnnoirQ
Тоже знаю php уже на нормальном уровне, но когда пишешь серьезный проект, то код получается лапшой, очень большой и не понятный. Поэтому каждый php-программист в скором времени подумывает как же структурировать все, начинает писать классы… Да потом и классы уже писать одни и те же не охота, нужны готовые решения… Вот тут и приходят на помощь framework. Уже пару дней как выбираю framework… Он должен быть в первую очередь таким, чтобы его можно было очень быстро выучить, и код должен быть очень понятным. Zend сразу не подходит, он конечно мощный, но совсем не понятный. Потом выяснилось что лучше всего использовать Codeigniter, но… Остановились на Laravel… Его очень легко выучить, код предельно понятный. Все кто сидели на Codeigniter перешли на Laravel. Он создан в 2011 году, очень молодой, но уже набирает популярность. Минус конечно, что вся документация на английском. Но если хорошо знаете английский, то очень хорошая документация www.laravel.com и очень хорошие видеоуроки (на английском) от tutsplus tutsplus.com/course/laravel-essentials/ На счет YII не знаю, попробуйте, мне просто интересно ваше мнение по этому framework. А по laravel я еще напишу как нибудь статью, просто только его начал изучать.
admin
Интересно, надо будет посмотреть. Кстати «Эсотолк» на «Ларавеле», это такой форумный движок по типу «Ванильки»
AnnoirQ
Вот еще ссылка, сравнение фреймворков.
Это мнение одного человека, не стоит по нему сразу судить, но я просто оставлю это здесь…
AnnoirQ
Посмотрел вчера с другом первые 12 уроков по Laravel. Очень понравилось, не понимаю почему раньше не использовал framework. Очень много автоматизировано. То что на чистом php делается в сотни строк, тут делается в пару строк. Особенно понравились запросы к базе данных, на чистом php как минимум нужно сделать запрос, потом сделать цикл, вытащить массив с помощью mysql_fetch_array и только потом вытаскиваешь данные. А тут все это делается тупо в одну строчку. Весь framework аккуратно разбросан по папочкам. Как человеку, который вообще никогда не работал с MVC, мне очень понравилось. MVC все таки мощная штука.

Оставить комментарий

Комментировать при помощи:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.