2010-08-02 243 views
2

過去幾年來我一直在使用.net,並且我喜歡在任何地方的任何位置添加控件的方式。例如,即使已經有身體,你也可以說Head.Controls.add(new LiteralControl("<link rel='stylesheet' type='text/css' href='styles.css' />"))向其他元素添加元素

是否有可能在php中做這種事情?我的網站的設立是爲了讓我們有代理商,客戶和藝術家(這是一家制卡公司,希望客戶應用程序在展會上脫機使用)。添加代理表單可能與添加客戶表單有不同的樣式。因此,我希望將每種類型放在不同的文件夾中(例如代理商,客戶和藝術家),每個文件夾都有自己的樣式表。將會有一個表單頁面,其中包括GET類型(藝術家,客戶等)的參數,模式(創建,編輯)和ID的可選參數(處於編輯模式時)。我希望能夠一次打電話$agentForm->generateForm()$agentForm->generateStyleTag(),而不是我目前正在做的事情,即在頭部呼叫$agentForm->generateForm()和在頭部呼叫$agentForm->generateStyleTag(甚至沒有生成開始身體標記)。

一個很好的方法來說明,我有一個Head標籤和一個Body標籤。在另一個函數$agentForm->generateHTML()中我想說Body->addChild("bla")Head->addChild("bla")。這使得開發新頁面變得容易很多,因爲它確保樣式在那裏並且對於用戶所在的網站部分是正確的。

是否有可能實現這一點,或者這是這之間的主要區別PHP和.net?

+0

我想我的大部分問題還沒有真正有一個正確的答案是這樣的,因此40%的可能是對的.. – ClarkeyBoy 2010-08-02 15:34:52

+0

然後張貼您自己的解決方案,並選擇它作爲正確的答案。 – 2010-08-02 16:12:51

+0

有時我沒有找到答案,繼續前進並忘記它(或試圖找到解決方案導致其他重大問題,然後我着迷於嘗試解決,並忘記它)。如果我有時會受到傷害,我不能幫助它。 – ClarkeyBoy 2010-08-02 16:32:39

回答

2

看看PRADO框架和Yii框架。他們有一個分層的,基於組件的philosphy允許嵌套和組成,從根本上構建一個小型可插拔組件的整個站點。

+0

我最近看過普拉多,但現在考慮修改考試和5個項目在考試後工作(更不用說工作/家庭狩獵),我現在可能有點太多了隨時學習新的框架。儘管如此,我仍然會確保這樣做。無論如何感謝您的建議。問候,理查德 – ClarkeyBoy 2010-08-04 23:48:18

5

PHP本質上是爲了將字符串引入STDOUT而設計的,除非是緩衝的。要做到這一點,你必須使用一個支持這個的模板系統,或者自己推出。沒有'內置的'模板系統,除非你計算加載整個東西在DOMDocument什麼的,做主要的原始DOM操作,這會慢得多,除非你打算做很多其他的DOM修改。谷歌周圍的PHP模板系統,並檢查哪一個支持您的需求。

3

你需要意識到一些事情。 .NET框架,而不是編程語言。該問題與Can you do this in C#相同。意識到你正在比較蘋果和橘子。

PHP語言是圖靈完整的,所以是的,你可以做到這一點。這並不意味着要做的代碼被寫入(可能是),或者它會很容易(誰知道)。這隻意味着它是可能的。

這樣說,你需要找到一個框架來做你想要的。這種操作沒有語言可言(因爲它對整個語言的限制太多)。所以你的任務不再是「PHP能做到這一點」,而是「我需要找到一個框架來做到這一點」。嘗試尋找框架,我敢打賭你會很容易找到你的答案...

0

正如已經指出的,PHP是一種語言,而.Net是一個框架。兩者是完全不同的東西。

如果你想使用PHP腳本語言對於.NET,總有Phalanger