程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> SpeedPHP框架學習-.基礎及MVC理解

SpeedPHP框架學習-.基礎及MVC理解

編輯:關於PHP編程

Controller為控制器文件。程序從index.php開始執行

[php] 
<?php 
define("SP_PATH",dirname(__FILE__)."/SpeedPHP"); 
define("APP_PATH",dirname(__FILE__)); 
$spConfig = array( 
       "db" =>array( 
              'host' =>'localhost', 
              'login' =>'root', 
              'password' =>'root', 
              'database' =>'test', 
       ), 
       'view' => array( 
              'enabled' =>TRUE, 
              'config'=>array( 
                     'template_dir'=> APP_PATH.'/tpl', 
                     'compile_dir'=> APP_PATH.'/tmp', 
                     'cache_dir'=> APP_PATH.'/tmp', 
                     'left_delimiter'=> '<{', 
                     'right_delimiter'=> '}>', 
              ), 
       ) 
); 
require(SP_PATH."/SpeedPHP.php"); 
spRun(); 
上述程序定義了App和SP的路徑,加載了數據庫和視圖層的配置,加載SP的核心庫文件,最後運行整個系統。以上程序運行起來時,會首先到Controller目錄下執行main類下的index方法。main類的程序如下:

[php] 
<?php 
class main extends spController 

       function index(){ 
              $tpl  = $this->spArgs("tpl","green"); 
              $guestbook =spClass("guestbook"); 
              $this->results= $guestbook->findAll(); 
              $this->display("{$tpl}/index.html"); 
       } 
       function write(){  
              $guestbook =spClass("guestbook"); 
              $newrow =array(  
                     'name'=> $this->spArgs('name'), 
                     'title'=> $this->spArgs('title'),  
                     'contents'=> $this->spArgs('contents'), 
              ); 
              $guestbook->create($newrow); 
              echo "<ahref=/index.php?c=main&a=index>return</a>"; 
       } 
}     
從index.php過來默認調用main方法的index函數,在本例中這個函數首先設定模板名參數(tpl)。再新建一個model。使用model的findall方法,查找全部數據庫信息。最後使用tpl模板顯示結果。上述控制器程序,必須繼承自spController類,方法名就是調用的action名。在程序中顯式調用時路徑為index.php?c=main&a=write。Model如下所示,是和數據庫表同名的類文件。這個model必須繼承自spModel,同時設置了主鍵和表名屬性。

[php] 
<?php 
class guestbook extends spModel 

  var $pk = "id"; //每個留言唯一的標志,可以稱為主鍵 
  var $table ="guestbook"; // 數據表的名稱 

在tpl模板目錄裡的index.html文件下使用如下所示程序,格式化輸出結果。

[html] 
<{foreach from=$results item=one}> 
     <h4><{$one.title}></h4> 
     <p><{$one.name}>:<br /><{$one.contents}></p> 
<{/foreach}> 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved