发新话题
打印

FleaPHP入门之DreamPig篇(二)

FleaPHP入门之DreamPig篇(二)

原作:DreamPig

昨天大致上讲了一下我们开始工作的一些步骤,今天我将详细讲解一下每个步骤的工作!
在第三步里面我们已经开始MVC设计了!这里面,我们的M其实就是两个数据库表对应的类
在我的项目里面我建立了两个数据库表input和output两张表格,input是用来存储进货项,output用来储存出货项。
那么在我的cwrj/lib/cwrj/Model/下面有两个文件,分别是input.php和output.php。两张表都是FLEA_Db_TableDataGateway的继承类,用来操作相应的数据库表。例如我的input.php里面的代码是如下所示的:
复制内容到剪贴板
代码:
class Model_input extends FLEA_Db_TableDataGateway
{
    /**
    * 数据表名称
    *
    * @var string
    */
    var $tableName = 'input';
   
    /**
    * 主键字段
    *
    * @var string
    */
    var $primaryKey = 'id';
}
支持FLEAPHP

TOP

这样就完成了我们的第一步的Model的设计,V是最复杂的一个东西!
v是用来控制我们的请求的例如有这样的地址http://www.xxx.com/index.php?control=input&action=add
就表示要访问在我们的/cwrj/lib/cwrj/Controller/下面的input.php文件里面的addAction函数
所以我们预先要设置好我们要做那一些工作例如在input.php文件里面我这样写
复制内容到剪贴板
代码:
class Controller_input extends FLEA_Controller_Action
{
    /**
    * 提供数据库访问服务的对象
    *
    * @var _input
    */
    var $_tbInput;

    /**
    * 构造函数
    */
    function Controller_input() {
        $this->_tbInput =& get_singleton('Model_input');
    }

    /**
    * 显示添加页面
    */
    function actionIndex() {
        require(APP_DIR . '/input_add.php');
    }


    /**
    * 处理添加事件
    */
    function actionAddPost() {
        $this->_tbInput->create($_POST);
        $this->actionShow();
    }
    ......
}
支持FLEAPHP

TOP

发新话题