-
Notifications
You must be signed in to change notification settings - Fork 0
Ideas
для анализа, фильтрации и структурирования.
- основополагающим должен быть интерфейс. сначала создается интерфесная модель взаимосвязей и только потом классы
- все привязки только к интерфейсам.
- не использовать синглтон явно, т.е. есть интерфейс вызова объекта, а синглтон это будет или нет - инкапсуруется.
onPHP
api
orm
http
core
exemple
package
project
автоматический интерфейс (некий готовый набор возможностей для разработчика)
- работа с базой, создание изменения структуры и данных с легированием изменений, создание версионности изменений (DB-diff) т.е. интегрированная "система выкладки проекта".
набор инструментов для создания административного интерфейса администратора сайта, контент-пользователей..
Идея storage - состоит в том что, с ростом проекта, появляется необходимость использовать в качестве хранилища не реляционную базу в ее первоначальном понимании а некое хранилище, не обязательно базу. Хранилище может быть любым - от файловой системы, sql-base db, no-sql base, заканчивая индивидуальным решением php.module или shared memmory. позволить разнести логику сохранения данных в хранилище и выборки. (например сохранение проходит в sql-db, а выборка через Sphinx, Solr, или другое решение) для гибкости кросс-базовых запросов использовать OQL
Идея пакетов - состоит в следующем, чтоб можно было эффективно и быстро обмениваться решениями между участниками сообщества. Так или иначе у большинства проектов есть значительная часть бизнесс-логики которая повторяется. Ее можно реализовать в виде пакетов и в случае необходимости, автоматом, интегрировать в свой проект. (Установил пакет пакетным менаджером и все) Это позволит экономить время разработки и повысит экономическую привлекательность проекта на onPHP.
Идея сервисов фреймфорка состоит в следующем:
-
системный сервис notification - для отправки уведомлений определенных типов, разными частями системы. Быть четырех типов INFO, ERROR, WARNING, SUCCESS Могут быть разделены на зоны системные и пользовательские. Знать какой модуль или часть системы их вызвала. (для того чтобы к ним применить политику нужную) например разделятся на зоны доступности. (developer, admin, manager, user, guest, any), логироваться отправляться на по rabbitmq или выводится в интерфейсе.
-
системный сервис логирования
- не оставлять пустых строк с пробелами.
- прописывать phpdoc какой тип возвращается.
- названия директорий и пространств имен начинать с прописной буквы и не в множественном окончании.
- php-файлы классов и интерфейсов не заканчивать закрывающим тэгом
?>
- расположение не привязано к неймспейсам, но по умолчанию соответствует