Источник картинки: https://www.sitepoint.com/best-php-frameworks-2014/
Приветствую всех интересующихся языком программирования php.
Давно заметил что в основном проводят тестирование php фреймворков на основе "hello world" приложений, которые дают мало информации о реальных взаимосвязях в приложении.
Для это есть определенные основания. Как написано в одном из тестов - минимальный функционал обусловлен желанием узнать накладные расходы именно самого фреймворка.
Но на мой взгляд минимальный функционал не показывает всей картины.
И я решил протестировать php фреймворки на основе приложения средней сложности.
Начальное приложение будет представлять из себя аналог платформы блогов. Т.е. будут авторы, посты, категории. Такое приложение реализуется на любом фреймворке из коробки.
Страницы для тестирования:
- /posts - записи с информацией об авторе и категориях
- /authors - список авторов с подсчетом записей по каждому автору
- /categories - список категорий с кол-вом записей в каждой.
- /index - простой hello world для сравнения
- /all - Вывод на одной странице всей информации с предыдущих страниц. Для созданий большей нагрузки.
Кол-во записей планируется порядка 1000. Авторов и категорий по 50-100 штук.
Приложение выходит довольно простое, но на мой взгляд способно показать зависимости операций с данными на время генерации страницы и потребляемую память. Сравняются ли времена генерации? Какие нас ждут сюрпризы? Конечно, производительность рано или поздно упрется в производительность mysql сервера. Но общие тенденции, я надеюсь, что выявятся.
Начать я решил с двух php фреймворков - phalcon и laravel
Первый причисляют к самым быстрым, второй к самым известным и удобным.
В недавнем тесте "хеллоу ворлдов" опубликованном на хабрахабре (https://habrahabr.ru/company/nixsolutions/blog/329718/) эти два фреймворка заняли первое и последнее место по количеству запросов в секунду.
Ваша поддержка позволит со временем усложнить тестируемый функционал, а так же написать приложение для других фреймворков, а так же своевременно подключать новые версии текущих фреймворков.
Вопросы к сообществу:
- Нужно ли подробнее расписывать схему приложения, базу данных?
- Нужно ли подробнее описать процесс тестирования? Хотя в статье на хабрахабре процесс тестирования подробно описан.
- Нужно ли описывать создание приложения на каждом фреймворке?
- Тесты каких фреймворков в дальнейшем вы хотели бы увидеть?
- В какие еще категории можно добавить последующие статьи?
Исходя из ответов будет составлен порядок и названия следующих частей. :)
Так же планируется перевод этих статей и публикация на steemit.com.
Код приложений будет выложен на github, чтобы любой мог повторить тесты.
Подписывайтесь, чтобы не пропустить результаты тестов.
Приветствую Вас и желаю успехов на платформе Голос!
В этой статье вы сможете найти ответы на большинство вопросов, возникающих у новичков. Также большую подборку ссылок на полезные материалы вы можете найти по этой ссылке
Оперативно получить помощь, вы можете присоединившись к нашему сообществу в Телеграм
Буду признателен, если расскажете, откуда Вы узнали о платформе Голос (ответьте цифрой):
Чтобы быстрей освоится, присоединяйтесь к конкурсу для новичков, который идёт прямо сейчас!
@semasping Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы опубликовали свой первый пост
Вы получили первый голос за ваши посты
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.