В настоящее время я работаю над своей собственной PHP Framework, и мне нужна помощь, чтобы понять, иду ли я в правильном направлении или нет ...
Фреймворк предназначен как для моего личного использования, так и для дальнейшего развития моих навыков PHP. Я столкнулся с многочисленными проблемами, преодолев их, я многому научился и мне нравится создавать что-то из ничего, поэтому я бы предпочел не видеть ответы типа «Просто используйте Zend»! ;)
Я прочитал кучу статей как на Stack Overflow, так и на множестве других сайтов, но не могу получить правильный ответ, который мне нужен, поэтому, надеюсь, кто-нибудь может дать мне полезный совет!
Я пробовал несколько разных решений, но в итоге сбил себя с толку и не уверен, в каком направлении сейчас двигаться! Не могу осмыслить все это ...
«Теоретическая» рамочная структура
- .htaccess
- index.php
- private/
- app/
- bootstrap.php
- modules/
- default/
- controllers/
- pages.php
- index.php
- models/
- views/
- admin/
- controllers/
- models/
- views/
- config/
- config.php
- autoloader.php
- lib/
- Some_Library
- Class1
- class1.php
- Class2
- class2.php
- public/
- css
- images
- scripts
Подробности
- index.php - это главный файл, куда направляется каждый запрос с помощью .htaccess.
- Очевидно, что private / недоступен публично.
- public / содержит все общедоступные файлы.
- app / содержит весь код для конкретного приложения.
- lib / может содержать Zend или другую библиотеку (я тоже работаю над собой), для вызова с автозагрузчиками
- bootstrap.php - это код приложения ... Мне это нужно? Достаточно ли основного index.php?.
- modules / будет содержать каждый модуль ... Нужны ли мне вообще модули?.
- default / - это модуль по умолчанию, который будет содержать MVC для большинства запросов (используется, когда «admin» не является первой частью URL-адреса).
- admin / - это модуль, который будет содержать MVC для раздела администратора.
В любом случае, на мой вопрос ...
Я подумал, что было бы лучше отделить раздел администратора от остальной части сайта, но здесь я застрял. Я создал указанную выше структуру для работы с ней, но не уверен, что это наиболее эффективный способ.
Если на мой сайт приходит запрос site.com/videos/view/1/ ..
Модуль: Контроллер по умолчанию: Видео Действие: Просмотр Параметры: массив ('1')
и если на мой сайт поступит запрос site.com/admin/pages/view/1/ ..
Модуль: администратор Контроллер: страницы Действие: просмотр параметров: массив ('1')
Это правильный способ сделать это? Или я слишком усложняю это и делаю то, чего делать не стоит?
Должен ли я иметь полностью отдельный фреймворк для моего раздела администратора ...? Нужно ли мне вообще отделить MVC административного раздела от всего остального?
Извините за массивный вопрос, просто хотел дать вам как можно больше информации! Не стесняйтесь отвечать в зависимости от того, что вы можете = P