Laravel. Начало
Так получилось, что я использую только WordPress и у меня еще не было времени познакомиться и начать плотно работать с каким-либо фреймворком. Я знаю WordPress достаточно хорошо, знаю ее недостатки, согласен, что это свалка из функций, но я не знаю инструмента удобнее для создания визиток, блогов и т.п. В общем, о WP и моем опыте работы я расскажу в отдельной статье. А сейчас скажу только одно «но» — WordPress действительно не подходит для чего-то более серьезного. За удобство и шикарное API приходится платить производительностью. Правда это не существенно, если у вас блог с посещаемостью в несколько тысяч в день. Но факт остается фактом.
Так вот, есть у меня один самописный проект на чистом PHP (ООП MVC). И, честно говоря, не смотря на то, что очень полезно было самому писать, разбираться в различных «низкоуровневых» однотипных вещах, все же новые проекты создавать самописом выходит как-то долго. Да и все равно, рано или поздно (насколько я знаю), многие PHP разработчики приходят к тому, что лучше самописные фреймворки оставить на потом, а в работе использовать проверенные годами и опытом вещи. Поэтому я решил не ждать и приступил к поиску того единственного, с которым в будущем буду продуктивно работать.
Какие варианты?
Итак, номер один, что советуют новичкам — CodeIgniter. И я даже почти начал его изучать, но с одной стороны, не очень хорошо, что он поддерживает древние версии PHP (значит в коде есть мусор, от которого можно отказаться), с другой — все же он достаточно простой, в плане что не напичкан лишним, но полезным функционалом, а с третьей — я хоть и новичок, но не такой, чтобы тяжело было разобраться с чем-то более серьезным.
Symfony— этот же наоборот один из самых серьезных и сложных. Хотя с другой стороны, если в нем разобраться, то нет необходимости учить что-то еще. Во-первых вакансий много, во-вторых, зная этот фреймворк можно и блог, и свой youtube, и социальную сеть писать, а в третьих — у него есть классное преимущество в виде кучи готовых решений, как у WordPress огромный список плагинов на все случаи жизни.
Yii — функциональная, классная штука. Проще в изучении, чем Symfony. Номер один в СНГ по популярности.
Phalcon — фишка в том, что это фреймворк в виде PHP расширения написанного на C. То есть очень производительная штука. Но на все случаи жизни, увы, не подойдет. Да и с другой стороны из-за того, что написан на C, тоже выходит много проблем. Например, его не установишь на обычный хостинг, не поправишь вдруг что-то не так работает, так как С я не знаю и не планирую знать.
Laravel — функциональная, классная штука. Основан на Symfony. Можно сказать это Symfony, который проще, легче и из-за этого удобнее, наверное. Laravel сейчас взрывает зарубежный рынок, а значит ситуация будет как с WordPress — на фрилансе больше всего заказов с этой CMS. Да и писать на нем можно абсолютно все, от блога до своего фейсбука.
В общем, фреймворков есть огромная куча. Мои познания о них основаны на десятках статей из хабра, чтении различных Get started и прочих отзывах. Остановился на Laravel и Yii. Насколько я понял, суть в том, что если знаешь Yii — нет смысла изучать Laravel и наоборот. Но Laravel меня как-то больше привлек.
Установка Laravel
Скачать с официального сайта и просто закинуть в папочку на локалхосте не выйдет. Для этого нужен Composer.
У меня Ubuntu, поэтому рассказываю на ее примере.
Устанавливаем Composer (если не установлен)
1 2 |
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/bin/composer |
Устанавливаем Git (если не установлен)
1 |
sudo apt-get install git |
Скачиваем архив с GitHub
1 |
wget https://github.com/laravel/laravel/archive/master.zip |
Теперь можно распаковать в нужную папку на локахосте, а сам архив удалить.
Последий этап
1 2 |
cd /нужный нам путь к распакованному архиву/ composer install |
Все, ждем. Composer прочитает файл composer.json и установит все зависимости.
Во время этих манипуляций гитхаб потребовал ввести логин и пароль в консоли. Пришлось завести аккаунт)
На этом все. Таким образом я начал знакомство с Laravel. На момент написания статьи я уже продвинулся дальше:) А о самом процессе установки решил написать заметку. Но это история со стороны PHP, а со стороны JavaScript у меня другой путь — Ember.js или Backbone.js.
Почему со стороны JS не выбрал Angular? Вообще пробовал его? Я в php как раз мечусь между Yii и Laravel, но опыта php маловато, чтобы понять плюсы и минусы этих фреймворков…
Боюсь, что мое приложение будет похожим на что-то из веба 2000-х (onclick=»..» и т.д.). Ember показался проще. Хотя на практике нужно попробовать написать чат, морской бой, что-то с роутингом и тогда, кто знает, может и Angular выберу)
Насколько я понял, хорошим выбором будет и Yii, и Laravel. Так как свободного времени особо нет, я выбрал то, что зацепило сразу.