Я в настоящее время работаю самостоятельно Платформа PHP, и я нуждаюсь в некоторой помощи, выясняющей, иду ли я в правильном направлении или нет...
Платформа и для моего собственного использования и обычно совершенствовать мои навыки PHP далее. Я встретился с многочисленными проблемами, что путем преодоления их я изучил много и люблю способность ни из чего создать что-то, таким образом, я не видел бы ответы как "Просто Зенд использования"!;)
Я считал набор статей и на Переполнении стека и на наборе других сайтов, но не могу вполне получить правильный ответ, в котором я нуждаюсь, так надо надеяться, кто-то может дать мне некоторый полезный совет!
Я попробовал несколько различных решений, но я только что закончил тем, что смутил меня, и я не уверен который направление пойти теперь! Не может вполне получить мою голову вокруг всего этого...
'Теоретическая' структура платформы
- .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
Подробнее
Так или иначе, к моему вопросу...
Я думал, что будет лучше разделить администраторский раздел от остальной части веб-сайта, но это - то, где я застреваю. Я сделал вышеупомянутую структуру для работы с ним, но я не уверен, является ли это самым эффективным путем.
Если запрос site.com/videos/view/1/ прибывает в мой сайт..
Модуль: Контроллер По умолчанию: Действие Видео: Представление Params: массив ('1')
и если запрос site.com/admin/pages/view/1/ прибывает в мой сайт..
Модуль: Администраторский Контроллер: Действие Страниц: Представление Params: массив ('1')
Действительно ли это - правильный способ пойти об этом? Или я сверхусложняю его и делаю что-то, что это не стоит делать?
У меня должна быть платформа абсолютно отдельного приложения для моего администраторского раздела...? Я должен даже разделить администраторский MVC's раздела от остальной части всего этого?
Извините за значительный вопрос, просто требуемый, чтобы дать Вам как можно больше информации! Не стесняйтесь отвечать, какой бы ни часть Вы можете =P
Одно из решений для маршрутизации администратора - то, что делает CakePHP, сначала вы определяете конфигурацию для строки администратора а затем в своем контроллере используете действия с определенным преобразованием имен
//Configuration ============================
Configure::write("admin_routing" , true );
Configure::write("admin_prefix" , "admin" );
//Controller ===============================
class MyController extends AppController{
function index(){
//Will map to /mycontroller/
}
function admin_index(){
//Will map to /admin/mycontroller/
}
}
Вы можете обобщить это, используя систему маршрутизации просто посмотрите, как это делает ваш любимый фреймворк
Еще одно замечание
Надеюсь, это поможет
.Я бы посоветовал вам использовать bootstrap.php, который управляет всеми маршрутами, чтобы вы никогда не сталкивались с проблемами типа "я хотел бы вложить на одну папку больше в мой модуль администратора".
Я бы также не использовал модули и держал контроллеры по умолчанию прямо в дире controller/, а контроллеры администратора в дире controller/admin. То же самое для моделей и представлений.
btw это действительно не умно не разделять модели между различными частями вашего приложения, они будут одинаковыми в 99% всех случаев. вот почему mvc настолько мощный. иногда вы даже можете разделить некоторые части представления внутри вашего приложения между front- и back-end.