日期:2013-05-18  浏览次数:20542 次

【FleaPHP介绍】

FleaPHP是国产的一个MVC框架,目前主流的框架Zend Framework、Symfony、CakePHP,国内还有FCS、Plite等框架都是值得期待的。

我们看看官方的介绍:
FleaPHP 为开发者轻松、快捷的创建应用程序提供帮助。FleaPHP 框架简单、清晰,容易理解和学习,并且有完全中文化的文档和丰富的示例程序降低学习成本。使用 FleaPHP 框架开发的应用程序能够自动适应各种运行环境,并兼容 PHP4 和 PHP5。FleaPHP 的全名是 Fast-Lightweight-Extensible-Automatic PHP web application framework。

今天我简单的使用FleaPHP来构建一个简单的留言本程序来大概了解以下FleaPHP的运作机制。关于FleaPHP的更多信息访问官方网站:www.fleaphp.org(电信)www.fleaphp.net (网通)。
FleaPHP开发指南:http://www.fleaphp.net/index.php?q=guide

 

【构建留言本应用】

1. 数据表结构

留言本的要求比较简单,就是能够留言、显示留言,这么简单功能,看以下数据表结构:

--
-- 表的结构 `guestbook`
--
CREATE TABLE `guestbook` (
  `id` int(10) NOT NULL auto_increment,
  `nicker` varchar(50) NOT NULL default '',
  `email` varchar(100) default NULL,
  `url` varchar(100) default NULL,
  `content` text NOT NULL,
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM ;

 

2. 程序目录结构


整个留言本程序的结构是这样的:

/Fleaphp/                            ----基本框架目录
/Guestbook                        ----留言本根目录
/Guestbook/Config           ----配置文件目录
/Guestbook/Model            ----模型层文件目录
/Guestbook/View              ----显示层文件目录
/Guestbook/Controller     ----控制层文件目录
 

3. 配置文件

我先构建配置文件,用来保存数据库的基本配置信息,配置文件路径是: /Guestbook/Config/DSN.config.php


<?php
/**
 * DSN
 * 数据源配置文件
 */

return array(
    'dbDSN' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'login'     => 'root',
        'password'  => '',
        'database'   => 'test'
    )
);

?>
 

4. 程序入口点(首页)

我们再来构建首页,就是我们所有应用的入口程序: /Guestbook/index.php


<?php
//======================================
// Name:     Gueskbook
// Desc:     first fleaphp application
//======================================

//包含文件
define("APP_DIR", dirname(__FILE__));
define("VIEW_DIR", APP_DIR ."/View/");
require_once("../FLEA/FLEA.php");

//载入DSN配置文件
$dsnConfigFile = './Config/DSN.config.php';
register_app_inf($dsnConfigFile);
import(dirname(__FILE__));

//执行
run();

?>

大致我们看就是配置APP_DIR常量,然后加载基本的FleaPHP框架文件和数据源配置信息,然后增加一个类搜索目录,最后执行run() 来运行整个程序。

5. 控制器(Controller)

现在来看看我们的主要东西,控制器(Controller): /Guestbook/Controller/Default.php


<?php
/**
 * 缺省控制器
 */

class Controller_Default extends FLEA_Controller_Action
{
    /**
     * 留言本Model
     */
    var $_modelGB;
   
    /**
     * 构造函数
  &nbs