1.7. 建立一个基本应用

做好准备,我们现在要让我们刚才创建的应用更强大一些,这将会用到一些属性和一个初始化方法。

进入SYSTEM/source/acme/Acme/App/目录,并打开Blog.php文件。(在此示例中,我们使用vim编辑器,你可以选择自己最喜欢的)

$ cd SYSTEM/source/acme/Acme/App/
$ vim Blog.php

把下面的PHP代码加到类的开始部分,且在actionIndex()方法之前。

<?php
    protected $_action_default = 'index';

    protected $_model;

    public $list;

    public $item;

    public $form;

    protected function _setup()
    {
        parent::_setup();
        $this->_model = Solar_Registry::get('model_catalog');
    }

简单介绍下上面的属性:

  • $_action_default 属性定义了在URI未指定方法时的默认调用方法。

  • $_model 属性是Solar_Sql_Model_Catalog对象的一个引用。在整个Solar系统中,为了更方便地操作模型对象,Model_Catalog始终保留着模型对象的实例。

  • $list 属性是浏览博客文章时查询得到的记录列表。如果记录为空,它将是一个空数组;如果记录不为空,它将是一个Acme_Model_Blogs_Collection对象。

  • $item 属性是单记录,用于阅读、修改及增加操作。如果记录为空,它将是一个空数组;如果记录不为空,它将是一个Acme_Model_Blogs_Record对象。

  • $form 属性是博客文章模型的Solar_Form对象。Solar_Form对象帮助在视图中显示表单。

_setup() 方法使用Solar_Registry类延迟加载model_catalog的引用。该条目在SYSTEM/source/solar/config/default.php文件中有定义:$config['Solar']['registry_set']['model_catalog']。且该文件已包含在SYSTEM/config.php 文件中。