разделение front-end и back-end частей

Novice

Новичок
разделение front-end и back-end частей

Как ни банально, система состоит из двух частей - админка и собственно то, что видит посетитель.
Раньше все, что связано с админкой помещал, например, в каталог ./admin... То есть по линку http://site.com/admin юзер авторизируется и попадает в админ зону, где свой index.php.
Сейчас хочу использовать один контоллер в index.php корня сайта, и в зависимости от параметров грузить сайт или админку, по-умолчанию - сайт.

Например:
http://site.com/index.php?menu=guestbook - контроллер подключает скрипт ./modules/guestbook/guestbook_site.php

http://site.com/index.php?side=admin&menu=guestbook - контроллер подключает скрипт ./modules/guestbook/guestbook_admin.php

Какие недостатки у такого подхода?
С какими трудностями можно позже столкнуться?

То есть дергать один скрипт в обеих случаях...

PS: Добавления во всем html админки к началам ссылок
?side=admin не считаем недостатком.

Спасибо.
 

SelenIT

IT-лунатик :)
Novice
а какие преимущества ты видишь в варианте с одним контроллером ?
И где в этом варианте происходит авторизация?
 

Novice

Новичок
а какие преимущества ты видишь в варианте с одним контроллером ?
Ну может быть потому что выполняется практически одна и та же последовательность действий: инициализация, принять данные, вызвать модуль, показать страницу...
То есть будет два index.php, которые отличаются только тем, что подключают скрипты вида *_admin.php или *_site.php ну и может быть чем-то еще...


И где в этом варианте происходит авторизация?
Ну это уже нюансы... если side=admin, то require 'auth.php', например. Конечно, здесь и не только здесь, будет IF, то есть, можно сказать - то же дублирование.
 

SelenIT

IT-лунатик :)
Последовательность-то похожая, но объекты разные. По-моему, серьезных доводов за смешивание всего в кучу нет, а недостатков масса: и неоправданное усложнение скриптов, и куча лишних параметров, и невозможность толком разграничить права доступа к скриптам публичной и админской частей - продолжать можно долго...
 

Novice

Новичок
Таки да... Если еще задуматься о том, что сайт может работать без админки, то чтобы отключить ее, придется лезть в код, а так можно просто убить папку admin

Спасибо!
 
Сверху