Привет, коллеги!
Если что, меня зовут Влад, я сюда давно не заходил)))
В общем, интересует вопрос о создании архитектуры сайта без mvc.
На данный момент, я делаю по аналогии с ниже представленной архитектурой:
Цитата:
Application
--Shop
----Modules
------ShopModules.php(abstract Modules - системный класс для передачи объектов)
----IndexPage.php
--Admin
----...
Core
--Config
--Cache
--DataBase
..etc..
.htaccess
index.php
manage.php(обработчик всех запросов)
router у меня настроенный только на гет запросы(чпу берутся из конфига), хочу сделать рест роутер, но тогда не могу додуматься каким образом делать обработчики и где их хранить, как вызывать, если пример IndexPage.php выглядит так:
PHP:
скопировать код в буфер обмена
<?PHP use Application\App\Modules\FrontModules; class IndexPage extends FrontModules { public function getTitle() { return 'Интернет-Магазин Пряслице | Пряжа для вязания'; } public function getDescription() { return 'Интернет-Магазин Пряслице - Пряжа для вязания'; } public function getKeywords() { return 'Интернет-Магазин Пряслице - Пряжа для вязания'; } public function getTop() { //return $this->view->display('front_banner'); } public function getMiddle() { return $this->getFrontFilters([1, 3]); } public function getBottom() { return 'content bottom'; } }
FrontModules наследуется от Modules, у которого есть метод для сбора данных, тоесть getTitle etc... это абстрактные методы определяющие обязательные данные страницы.
Вызов страницы происходит по такому типу:
Если поменять роутер на rest, то можно будет использовать множество методов передачи данных, и поэтому, можно будет не ограничиваться одним массивом, можно будет сделать closure и string вызовы экшенов.
Прошу помощи в улучшении архитектуры, но не убирая структуру классов страниц
(Добавление)
Народ, ну посоветуйте хоть что-нибудь путное пожалуйста...
Если вам не хватает какой-то инфы, то скажите, всё расскажу и покажу на пальцах.
Пожалуйста...
|