Sign in to follow this  
Followers 0
александр76

Фреймворки PHP

28 posts in this topic

Добрый вечер.

Подскажите пожалуйста какие фреймворки сейчас (и в будущем) популярны.

А также поделитесь пожалуйста понятными учебниками по этим фреймворкам.

Заранее спасибо.

Share this post


Link to post
Share on other sites

Сейчас самыми популярными являются:

  • Yii (особенно ожидаемый выход 2.0 версии с отакзом от различного шлака и кривого названия методов и классов в неймспейсах)
  • Symfony (слова излишни, наиболее расширяемый бундлами)
  • CodeIgniter (более простой чем выше 2 перечисленных)

Все они обладают MVC архитектурой. На официальном сайте каждого уйма документации от а до я.

Share this post


Link to post
Share on other sites

Из личного опыта понял, что во фреймворках много всего бесполезного. 80% все года просто не будет задействовано. А те 20% = времени за который вы более менее выучите php, так что лучше уж написать самому небольшую CMS.

Share this post


Link to post
Share on other sites

Не знаю насчет популярности, но есть еще Кохана

kumatoz likes this

Share this post


Link to post
Share on other sites

 

 

Из личного опыта понял, что во фреймворках много всего бесполезного. 80% все года просто не будет задействовано. А те 20% = времени за который вы более менее выучите php, так что лучше уж написать самому небольшую CMS.

Начинать работать с фреймворком не зная "более менее" пхп - это я даже не представляю как это) Да, там есть возможности, которые не будут использованы, но если ваш сайт больше чем из 3 страниц и 2 модулей, и планируете расширять его возможности, то фреймворк - мастхэв. Он позволяет значительно сэкономить время. Думаю, уже мало кто представляет работу с интерактивным сайтом без жквери.

 

Сам юзаю codeigniter - разобраться проще некуда. Есть хорошая документация на русском http://cidocs.ru/. Но как это обычно бывает, лучше пользоваться официальной 

Share this post


Link to post
Share on other sites

Из личного опыта понял, что во фреймворках много всего бесполезного. 80% все года просто не будет задействовано. А те 20% = времени за который вы более менее выучите php, так что лучше уж написать самому небольшую CMS.

 

Не соглашусь с вами, я использую YIi больше года, рутинной работы меньше процентов на 60, чем писать на собственных велосипедных MVC, не важно какой бы она крутой не была, плюс к этому безопасность, методы валидации, маршрутизация. У фреймворков миллионы бесплатных тестировщиков (все пользователи), а у вас он будет один, поэтому нельзя сравнить качество самописного каркаса с  популярным фреймворком. Плюс Кэширование с помощью которого ваше приложение будет работать быстрее любой самописной CMS и если вы что-то в этом не используете, то это не значит что код замедляет работу вашего кода ( autoload придуман 10 лет назад). Ко всему добавим тысячи крутых бесплатных расширений на официальном сайте. http://www.yiiframework.com/extensions/

 

Из понятных учебников на Yii  книга Макарова на русском http://ru.yiicookbook.org/

Активное русскоязычное сообщество http://yiiframework.ru/

 

 

Если ты новичок посоветую учить Codeigniter Изучить MVC для начала.

Далее Yii или Laravel, Symfony и Zend оставьте бородатым дядькам  :)

Share this post


Link to post
Share on other sites

 

 


Если ты новичок посоветую учить Codeigniter Изучить MVC для начала.

Так же добавлю "для начала" Fuelphp и Laravel. Кстати, Laravel можна не только "для начала".

Share this post


Link to post
Share on other sites

Не соглашусь с вами, я использую YIi больше года, рутинной работы меньше процентов на 60, чем писать на собственных велосипедных MVC, не важно какой бы она крутой не была, плюс к этому безопасность, методы валидации, маршрутизация. У фреймворков миллионы бесплатных тестировщиков (все пользователи), а у вас он будет один, поэтому нельзя сравнить качество самописного каркаса с  популярным фреймворком. Плюс Кэширование с помощью которого ваше приложение будет работать быстрее любой самописной CMS и если вы что-то в этом не используете, то это не значит что код замедляет работу вашего кода ( autoload придуман 10 лет назад). Ко всему добавим тысячи крутых бесплатных расширений на официальном сайте. http://www.yiiframework.com/extensions/

 

Из понятных учебников на Yii  книга Макарова на русском http://ru.yiicookbook.org/

Активное русскоязычное сообщество http://yiiframework.ru/

 

 

Если ты новичок посоветую учить Codeigniter Изучить MVC для начала.

Далее Yii или Laravel, Symfony и Zend оставьте бородатым дядькам  :)

Соглашусь по поводу качества кода и его тестирования и готового api, однако не соглашусь с предположением о том, что работать приложение на фреймворке будет быстрей любой самописной cms - это достаточно спорный вопрос. Autoload не решает вопроса на корню - да, по запросу он подгрузит необходимые пространства имен с классами, но что мешает сделать аналогичное в cms? Проблема то занимаемого объема памяти при линковании классов это уже второй вопрос...

Share this post


Link to post
Share on other sites

 

 


Проблема то занимаемого объема памяти при линковании классов это уже второй вопрос...

Да Фреймворки используют много памяти, но зачем этого бояться?

Быстрее работу фреймворка делает кэшинг, а не autoload, конечно он помогает только при render - е, при работе сайтов, а для API скажем которое не генерирует никаких view это да будет, самописка будет работать быстрее, но это к CMS никак не относится и писать это добро вообще на PHP не нужно ИМХО, везде где нет render-a перешли на node.js.

Share this post


Link to post
Share on other sites

везде где нет render-a перешли на node.js.

Что значит "где нет render-a"? Если его нет, то возможно и не нужен веб фреймворк, а достаточно компилируемых языков. Если есть сайт, сервис, все что угодно, что должно отдаваться в браузер, тем или иным образом будет отрендерино в браузере. 

 

 

 

Да Фреймворки используют много памяти, но зачем этого бояться?

 

Совсем не обязательно. В зависимости от реализации. Реализация простой гостевой на Друпале или ВП будет намного больше кушать памяти, чем идентична на кодеигнитере, например. 

Share this post


Link to post
Share on other sites

Да Фреймворки используют много памяти, но зачем этого бояться?

Быстрее работу фреймворка делает кэшинг, а не autoload, конечно он помогает только при render - е, при работе сайтов, а для API скажем которое не генерирует никаких view это да будет, самописка будет работать быстрее, но это к CMS никак не относится и писать это добро вообще на PHP не нужно ИМХО, везде где нет render-a перешли на node.js.

Ну ... нода это уже совсем иной разговор. Насчет кэширования - спорно. Возьмите для интереса symfony с встроенным твигом и чистый твиг - как думаете, существенной ли будет разница? 

 

Что значит "где нет render-a"? Если его нет, то возможно и не нужен веб фреймворк, а достаточно компилируемых языков. Если есть сайт, сервис, все что угодно, что должно отдаваться в браузер, тем или иным образом будет отрендерина в браузере. 

Возможно под рендерингом автор понимал динамическое формирование каркаса html, а не преобразование оного в графический объект ... Если нет динамического преобразования каркаса, вам не то что фреймворк не нужен, вам чистого html хватит  :)

Share this post


Link to post
Share on other sites

 

 


Что значит "где нет render-a"? Если его нет, то возможно и не нужен веб фреймворк, а достаточно компилируемых языков. Если есть сайт, сервис, все что угодно, что должно отдаваться в браузер, тем или иным образом будет отрендерина в браузере. 

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

Вы занимались разработкой бэкенда для мобильных приложений ? Вот будете вы на плюсах его писать? 

Share this post


Link to post
Share on other sites

Ну ... нода это уже совсем иной разговор. Насчет кэширования - спорно. Возьмите для интереса symfony с встроенным твигом и чистый твиг - как думаете, существенной ли будет разница? 

 

Да здесь никакая скорость не является существенной

Проблема то занимаемого объема памяти при линковании классов

Не вот это, не скорость загрузки классов, это все сотые доли секунд, На скорость работы действительно влияют  сервер , использование CDN, кэшинг mysql. Мир уже давно ценит время разработчика дороже чем эти миллисекунды, а его нам помогают сохранять ( избавляя от рутинной работы ) фреймворки, а никак не самописные, велосипедные каркасы. ТС совет изучайте фреймворки.

Share this post


Link to post
Share on other sites

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

Вы занимались разработкой бэкенда для мобильных приложений ? Вот будете вы на плюсах его писать? 

Ну ведь формируя ответ от сервера вы все равно что-то отдаете json, xml. Это ведь теже заголовки и боди. Это разве не рендер. Если под Бекендом вы подразумевали стенелоне приложение,  тут понятное дело. И то формы и т.д все равно отрисовываются.  

Share this post


Link to post
Share on other sites

 

 


Да здесь никакая скорость не является существенной

Опять же, не совсем согласен. Как пример - при использовании symfony загрузка определенной страницы у меня составляла ~0,2 секунды, а при использовании twig и своего велосипеда с квадратными колесами - 0,07сек (разница чуть более 100%) - а загрузка страницы юзером при использовании CDN - ~0,8сек. В итоге выходит экономия в ~20% времени. Разве это не существенно?

Share this post


Link to post
Share on other sites

 

 


Ну ведь формируя ответ от сервера вы все равно что-то отдаете json, xml. Это ведь теже заголовки и боди. Это разве не рендер. Если под Бекендом вы подразумевали стенелоне приложение,  тут понятное дело. И то формы и т.д все равно отрисовываются.  

 

Никакие формы не отрисовываются, вы не поняли о чем я.

Ну к примеру смотрите.

Приложение на Андроиде отправляет мне запрос типа, -- дай мне всех друзей данного пользователя

Я проверю accessToken  if allright отдаю ему массив json со списком его друзей. Здесь кэш не играет никакого значения ( ну не о mysql кэшинге идет речь). Здесь render не требует больших ресурсов, ну никаких почти ресурсов он не требует.

 

А если я формирую страницу с графиками и картинками WISIWYG в придачу, тут вот и выходит на арену кэш .Скорость загрузки, экономия трафика, вот что делает кэш. А здесь рендер занимает много ресурсов, а ресурсы в 21 веке экономить надо.

Firestarter likes this

Share this post


Link to post
Share on other sites

 

 


Я проверю accessToken  if allright отдаю ему массив json со списком его друзей. Здесь кэш не играет никакого значения ( ну не о mysql кэшинге идет речь). Здесь render не требует больших ресурсов, ну никаких почти ресурсов он не требует.

А, так тут понятно дело, что кэш не играет никакого значения. Согласен на 100%. Снимаю шляпу. 

styoplotr likes this

Share this post


Link to post
Share on other sites

Не знаю насчет популярности, но есть еще Кохана

голосую за Кохана. Довольно простой и в тоже время не монструозный фреймворк.

Share this post


Link to post
Share on other sites

Опять же, не совсем согласен. Как пример - при использовании symfony загрузка определенной страницы у меня составляла ~0,2 секунды, а при использовании twig и своего велосипеда с квадратными колесами - 0,07сек (разница чуть более 100%) - а загрузка страницы юзером при использовании CDN - ~0,8сек. В итоге выходит экономия в ~20% времени. Разве это не существенно?

 

Ваш тест не объективен, сравнивать нужно работу всего приложения, может у вас просто так вышло, просто может вы запросы к базе разные написали, может быть все что угодно. Я symfony не юзал, говорят что чем дольше работает приложение на нем, тем оно быстрее. Насчет Yii могу добавить что у него самый быстрый старт из всех популярных  фреймворков  :)

Share this post


Link to post
Share on other sites

 Мир уже давно ценит время разработчика дороже чем эти миллисекунды

И это уже достаточно давно так. Железо стоит дешевле работы программиста.

styoplotr likes this

Share this post


Link to post
Share on other sites

Насчет Yii могу добавить что у него самый быстрый старт из всех популярных  фреймворков  :)

Это откуда, интересно, такая информация? Кохана ничем не "медленнее"  :P

Share this post


Link to post
Share on other sites

Ваш тест не объективен, сравнивать нужно работу всего приложения, может у вас просто так вышло, просто может вы запросы к базе разные написали, может быть все что угодно. Я symfony не юзал, говорят что чем дольше работает приложение на нем, тем оно быстрее. Насчет Yii могу добавить что у него самый быстрый старт из всех популярных  фреймворков  :)

Это вовсе не тест, а субъективные данные по определенной странице с одинаковым функционалом.

Предположение о том, что чем дольше работает приложение тем оно быстрее - на корню ошибочно, ведь количество данных будет только увеличиваться, что противоречит простой логике (объем -> скорость обработки). Быстрей будет работать только после создания первой кешированной версии, но не более.

Share this post


Link to post
Share on other sites

Предположение о том, что чем дольше работает приложение тем оно быстрее - на корню ошибочно, ведь количество данных будет только увеличиваться, что противоречит простой логике (объем -> скорость обработки). Быстрей будет работать только после создания первой кешированной версии, но не более.

 

Я читал про многоуровневый кэшинг в этом фреймворке, это я имел ввиду. не могу с вами спорить, не работал с symfony, ну насчет количества данных вы надеюсь пошутили  ;)

Как знаток фреймворка посоветуйте хорошее пособие по симфони, книги, видеоуроки, просто уроки, где и как учить, думаю ТС в выборе фреймворка эта информация пригодиться.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.