Инструменты пользователя

Инструменты сайта


eaze2:changelog

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
Последняя версия Both sides next revision
eaze2:changelog [2014/09/14 18:29]
sergeyfast создано
eaze2:changelog [2014/09/14 19:04]
sergeyfast
Строка 25: Строка 25:
  
 ===== Изменения в lib.eaze ===== ===== Изменения в lib.eaze =====
 +
 +  * Статический анализатор PHPStorm -> **Inspect Code** проходит по lib.eaze без ошибок
   * trait **TBaseFactory** – с помощью него убрано дублирование во всех *Factory, улучшен type hinting и документация   * trait **TBaseFactory** – с помощью него убрано дублирование во всех *Factory, улучшен type hinting и документация
   * В скомпилированном шаблоне,​ который находится в папке cache можно посмотреть путь исходного шаблона   * В скомпилированном шаблоне,​ который находится в папке cache можно посмотреть путь исходного шаблона
Строка 33: Строка 35:
   * **IComplexObject** – пред/​пост-обработка для объектов,​ которые получаются через Factory   * **IComplexObject** – пред/​пост-обработка для объектов,​ которые получаются через Factory
  
 +===== Очередной велосипед?​ =====
 +//Для сомневающихся,​ зачем это все нужно//​
 +Велосипеды все еще актуальны.
 +
 +==== Почему вы не оформили eaze в composer и не используете его основу?​ ====
 +Как это ни печально,​ но на скорость загрузки PHP скриптов до сих пор влияет количество include/​require файлов (даже с opcacher'​ами). И в ближайшем будущем,​ судя по roadmap php ничего не поменяется.
 +
 +Что для этого есть в composer [[http://​mouf-php.com/​optimizing-composer-autoloader-performance |почитать]]?​ ''​php composer.phar dumpautoload -o''​ – этой командой composer создаст classmap, в котором будет массив файл -> класс. При каждом запросе он не будет сканировать файловую систему,​ а будет просто делать require необходимого класса.
 +
 +При разработке новой версии eaze мы попытались сравнить такой подход (небольшая модификация Package) и существующий (все классы для одного ​ URI в одном файле). Существующий оказался на 15-25 процентов быстрее. Опять же это синтетические тесты, но  они показательны. Сомневающиеся могут самостоятельно организовать данный тест.
 +
 +В Yii есть похожая концепция – [[http://​yiiframework.ru/​doc/​guide/​ru/​topics.performance|yiilite.php]]. Но судя по цитате,​ они решили проблему только для ядра, и то не полностью:​
 +  Стоит заметить,​ что использование yiilite.php без APC может отрицательно повлиять на производительность,​
 +  так как yiilite.php включает в себя классы,​ которые могут не требоваться при каждом запросе ​
 +  и отнимать некоторое время на парсинг.
  
 +==== Зачем еще один фреймворк,​ возьмите Yii и радуйтесь,​ сообщество поможет,​ если что ====
 +//​sergeyfast:// ​
 +  * Я не могу доверять стороннему коду на PHP, который осуществляет обработку урлов, автозагрузку классов и работу с базой данных (включая ORM). Я могу лишь доверять только своему коду, в котором я уверен на 99%, который я могу контролировать и в котором я могу быстро найти ошибку. ​
 +  * В Eaze есть минимальный набор классов,​ который удовлетворяет потребностям при разработке веб-проектов.
 +  * В Eaze есть mfd, который делает CRUD гораздо умнее, чем существующие инструменты в различных фреймворках. ​
 +  * Ну и субъективно,​ при разработке на Eaze код получается более простой и чистый.
 +  * Да, у Eaze нет сообщества и документации,​ но зато есть богатый опыт в проектах,​ в которых можно подсмотреть варианты решения задачи. В этой wiki все же надо постараться описать стандартные задачи и их решения.
eaze2/changelog.txt · Последние изменения: 2014/09/15 11:38 — sergeyfast