php使用fleaphp框架做開發。

fleaphp是國人開發的一套輕量級的框架。 在freebsd協議下發布。可以到www.fleaphp.org去下載。我就使用了一下,下面是把我的用法寫下來。我使用的是1.0.70的版本。
    在你的工作目錄建立下面幾個目錄:
       Controller
       Model
       View
       Config
       Cache
    並且把fleaphp框架下的FLEA目錄複製到你的工作錄目下,然後在工作目錄下創建index.php文件。首先我門來研究編寫index.php文件。
    define("APP_DIR",dirname(__FILE__));
    $configpath=APP_DIR;
    上面的就不解釋了。
    require("FLEA/FLEA.php");        //這是必須的。因爲在fleaphp中使用了FLEA字名空間。
    FLEA::import(APP_DIR);    //import函數是用來告訴FLEA到那去找Controller Mode View Config等目錄和這些目錄中的文件
    FLEA::loadAppInf($configpath."/Config/config.php"); // loadAppInf是用來導入fleaphp所需要的config文件。
    FLEA::runMVC(); //OK,在這你的程序開始跑起來了。

    在Controller目錄下的文件和文件中的類命名方式是如下:如果文件名爲TTT.php,那麼這個文件中的類名就是Controller_TTT. 因此我在Controller下的文件是Book.php,Book.php文件中的類名就是Controller_Book。
 類的函數命名方式是actionXxx,Xxx是你要做的操作,.操作名第一個字母要大寫。   
     class Controller_Book extends FLEA_Controller_Action 
      {
           var $_modemydb;
           function Controller_Book()
           {
              $this->_modemydb=&FLEA::getSingleton('Model_mydb');  //getSingleton(classname),是根據classname創建一個唯一的類對象。  在我們這段代碼中Model_mydb是在View目錄mydb.php文件中定義的。         
           
           }
           function actionIndex()
           {
               $posts=$this->_modemydb->findAll();//這個操作相當於執行了select * from table;
               include("View/user.php"); r/然後調用View/user.php將數據顯示出來。
           }
           function actionSay()
           {
               print "heng,heng";
           }
   }
在來看看Model目錄下的mydb.php
   FLEA::loadClass('FLEA_Db_TableDataGateway');   //loadClass(classname)是導入我們需要類。在Model目錄下的類的命名方式是Model_XXX,XXX是你定義的類名,要和文件名一樣。如果你不加Model就會在使用上面說的getSingleton函數的時候出現異常。

class Model_mydb extends FLEA_Db_TableDataGateway
{
    var $tableName="user";     //表名
    var $primaryKey="id";          //主鍵名
 }
最後來看看Config目錄下的config.php文件。
return array(
      'defaultController' => 'Book',    //在這定義默認的Controller,我使用的是前面定義的Controller_Book類。如果不使用這句就要自己在Controller目錄中定義一個Controller_Default類。
      'internalCacheDir' => dirname(dirname(__FILE__)) . DS . 'Cache',  //這句我還沒有明白:(誰能告訴我呢.
      //下面的是dbDSN,這個就不需要我說了把。
       'dbDSN' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'login'     => 'root',
        'password'  => '123456789',
        'database'  => 'fleaphp'
    )
  );
最好看View/user.php中的內容。如下
<html>
    <head>
    <title>用戶信息</title>
    </head>
    <body>
    <? foreach ($posts as $post):?>
     用戶ID:<?echo h($post["id"])?> &nbsp; &nbsp;用戶名: <?echo h($post["name"])?><br>
     <?endforeach;?>
    </body>
     </html>

好了就說的這了。88. erverbody

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章