所以我正在通過面向對象的PHP製作一個CMS腳本。無論如何,現在的問題是,我擁有物體的基本佈局,以至於我需要開始放置,我難以理解如何做到這一點。如何構建一個CMS?
我的本質是一個導航,數據,圖庫和模塊類。模塊代表頁面,類別等等。問題在於圖庫輸出圖像,模塊爲頁面提供數據,導航會創建(您猜測它)導航。你得到的照片。
在索引頁,我結束了實質上這樣做(這種情況將會改變,但它說明了我是如何開始對其進行設置):
$navigation = new Navigation();
$navigation->top();
$page = new Module();
$page->basicPage($_GET['m']);
的basicPage()做了幾件事情,但主要是這個問題:
$gallery = new Gallery();
$gallery->setGallery($id);
$gallery->thumbGallery();
等等等等。
問題在於,如果我調用basicPage(),設計者或誰對選擇有很少的控制權。正如你所看到的那樣,它是thumbGallery,並且不允許完整的圖像,它甚至不允許你設置縮略圖的大小(我確實允許它們做,只有當它們可以自己調用這個函數時) 。
所以我想到了一些解決問題的方法。我沒有這些基本頁面,但我有設計師像wordpress一樣構建模板。我不喜歡這個解決方案,因爲它使得設計過程變得複雜,儘管是徹底的。我不想這樣做,一切都被控制,並且是一種方式。當然,您可以將元素作爲設計師和其他一些技巧來「展示:無」,但我希望他們有能力做很多事情,而不需要使用Wordpress的複雜方式。
我的問題是如何在簡單和靈活性之間取得平衡?
任何幫助,甚至想法都表示讚賞。謝謝。
編輯:我忘了提及。問題在於,只有索引擁有所有這些數據,否則我將不得不做很多if/else等等,而且我真的不希望將其作爲一個程序性程序,只有一個你可以實際上只是一個plop東西放下,我們很好。看,模塊代表畫廊和頁面。大多數頁面不會附加圖像,而類別將包含圖像,但不一定是文本。如果我調用thumbGallery並且它只是一個信息頁面,並且如果我調用一個信息頁面並且它是一個類別,它將不會顯示圖像(以避免錯誤),它會導致錯誤。我可以,並已開始在所謂的基本頁面中構建它,但是我之前提到的問題是,它限制了設計者的自由程度,而不必惹php,而且大多數設計師都很笨拙到PHP,不幸的是。特別是面向對象(沒有冒犯性,我也是一名設計師,但是我也發生過程序)。
看看[Front Controller](http://martinfowler.com/eaaCatalog/frontController.html)設計模式。 – Smurf64