Здесь показаны различия между двумя версиями данной страницы.
Следущая версия | Предыдущая версия | ||
eaze2:changelog [2014/09/14 18:29] sergeyfast создано |
eaze2:changelog [2014/09/15 11:38] sergeyfast |
||
---|---|---|---|
Строка 18: | Строка 18: | ||
===== Namespaces ===== | ===== Namespaces ===== | ||
- | Благодаря поддержки неймспейсов появилась возможность использовать [[eaze2/composer]]. | + | Благодаря поддержке неймспейсов появилась возможность использовать [[eaze2/composer]]. |
Для этого необходимо немного изменить eaze.*php файлы для включения автозагрузчика composer. | Для этого необходимо немного изменить eaze.*php файлы для включения автозагрузчика composer. | ||
Строка 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 все же надо постараться описать стандартные задачи и их решения. |