2011-05-25 53 views
5

我有一個日曆類,它輸出一個帶有表格單元格的HTML表格,但是我應該將HTML嵌入到類文件中。我擔心的是,如果我必須修改HTML(即爲元素添加ID),那麼我將不得不調整類文件。將php嵌入到php類文件中

我目前不在我的項目中使用MVC模式,所以有一個視圖是不是一個選項。

我砍倒類文件如下(在這個例子中我假設的1個月爲4周):

class calendar { 

function __construct(){ 

} 

function output() { 
    print "<table>"; 
    for ($week=0; $week < 4; $week++) { 
     print "<tr>"; 
     for ($day=0; $day < 7; $day++) { 
      print "<td></td>"; 
     } 
     print "</tr>"; 
    } 
    print "</table>"; 
} 

有沒有,我還沒有想過這將保持任何其他方法HTML與課堂文件分開 在此先感謝

+1

包括PHP文件(index.php)中的日曆類,並使用:$ cal = new Calendar(); ,現在你可以這樣做:$ cal-> week; (取決於你如何編寫該類),也許'print_r($ cal)'第一個 – Ruben 2011-05-25 11:45:38

+0

這個問題不適合嵌入式標籤請參閱http://stackoverflow.com/tags/embedded/info。標記刪除 – 2011-05-25 14:50:54

+0

也許檢查此問題:http://stackoverflow.com/questions/62617/whats-the-best-way-to-separate-php-code-and-html?page=1&tab=votes#tab-top – smack 2011-05-25 11:46:40

回答

1

針對您的問題的一種非常受歡迎的解決方案是使用http://www.smarty.net/或訂購模板引擎,以將演示邏輯從商業邏輯中分離出來。

1

你可能有某種類型的HTML助手類生成你的代碼。該類可以有createTable,addRow,closeTable, createForm, addField等。主要屬性在方法調用中發送,常量直接編碼到HTML中。

3

最簡單的模板

// myTemplate.phtml 
<div><?php echo $xy; ?></div> 

// SomewhereElse.php 
class MyClass { 
    public function myMethod() { 
    $xy = 'something'; 
    include('myTemplate.phtml'); 
    } 
} 
1

我只想寫一個HTML文件,並把佔位符那裏。

<!DOCTYPE HTML> 
<html> 
... 
<?php echo output() ?> 
...