Robię więc CMS, skrypt galerii poprzez Object Oriented PHP. W każdym razie, problem polega na tym, że mam podstawowy układ obiektów i tak do tego punktu, w którym muszę zacząć składać, jestem zaskoczony, jak to zrobić.Jak jedna struktura CMS?
Co mam, to w gruncie rzeczy klasa Nawigacja, Dane, Galeria i Moduł. Moduł oznacza strony, kategorie i tak dalej. Problem polega na tym, że Galeria wyprowadza obrazy, moduł podaje dane dla stron, nawigacja tworzy nawigację (jak ci się wydaje). Dostajesz obraz.
Na stronie indeksu I kończy się robi w zasadzie to (to się zmieni, ale jest ilustrację jak zacząłem go skonfigurować):
$navigation = new Navigation();
$navigation->top();
$page = new Module();
$page->basicPage($_GET['m']);
basicPage() robi kilka rzeczy , ale przede wszystkim jest to problem:
$gallery = new Gallery();
$gallery->setGallery($id);
$gallery->thumbGallery();
Tak na przykład.
Problem powstaje, gdy zadzwonię do basicPage(), projektanta lub ktokolwiek ma bardzo małą kontrolę nad wyborami. Jak widzieliście, jest to thumbGallery, i to nie pozwala na pełne obrazy, a nawet nie pozwala ustawić rozmiaru miniaturek (co ja im pozwalam, tylko jeśli mogą wywoływać, że działają one samodzielnie). .
Więc pomyślałem o kilku rozwiązaniach problemu. Nie mam tych podstawowych stron, ale projektanci budują szablony bardzo podobne do wordpress. Nie podoba mi się to rozwiązanie, ponieważ sprawia, że proces projektowania jest skomplikowany, aczkolwiek dokładny. Nie chcę sprawić, żeby wszystko było kontrolowane i jest jednym ze sposobów. Oczywiście możesz "wyświetlać: none" na elementy jako projektant i kilka innych sztuczek, ale chcę, żeby miały możliwość robienia wielu rzeczy, bez skomplikowanego sposobu, w jaki robi to Wordpress.
Moje pytanie brzmi: jak osiągnąć równowagę między prostotą a elastycznością?
Każda pomoc, nawet pomysły są mile widziane. Dzięki.
EDYCJA: Zapomniałem wspomnieć. Problem polega na tym, że po prostu posiadanie indeksu ma wszystkie te dane, w przeciwnym razie będę musiał zrobić dużo jeśli/else i takie, i naprawdę nie chciałem uczynić z tego programu proceduralnego, po prostu można w zasadzie po prostu plopować rzeczy w dół i jesteśmy dobrzy. Zobacz, moduł oznacza zarówno galerię, jak i stronę. Większość stron nie będzie zawierać dołączonych do niej obrazów, a kategorie będą miały obrazy, ale nie zawsze tekst. Spowoduje to błąd, jeśli zadzwonię do thumbGallery i jest to tylko strona informacyjna, a jeśli zadzwonię na stronę informacyjną i jest to kategoria, to nie wyświetli obrazów (aby uniknąć błędu). Mógłbym, i zacząłem budować to razem na tak zwanej stronie podstawowej, ale problem, jaki zauważyłem wcześniej, ogranicza swobodę projektanta, nie musząc zadzierać z php, a większość projektantów jest dość głupia, gdy przychodzi do php, niestety. Zasadniczo OOP (bez obrazy, ja też jestem projektantem, ale ja też zdarza mi się program).
Spójrz na wzór wzorcowy [Front Controller] (http://martinfowler.com/eaaCatalog/frontController.html). – Smurf64