师去白

      我的程序人生

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

总是想弄清楚从index到页面显示的所有流程,但是还是没有搞清楚,现在卡在了set('date',$this->Post->findAll())这个语句,因为我不知道Post是如何出现的(我现在用官方的那个blog_tutorial来判断流程),然后找到了controller的构造函数,之后就没有发现如何装载model类。

下面还是直接看tutorial,搞清楚Model View Controller三个类的一些API,能迅速开发,整个框架的源代码还是以后再看吧。

下面是测试一下代码框,就拿controller的构造函数吧
 

   function __construct ()
    {     
        
if($this->name === null)
        {         
            
$r = null;
            
if (!preg_match('/(.*)Controller/i', get_class($this), $r))
            {
                
die("Controller::__construct() : Can't get or parse my own class name, exiting.");
            }            
            
$this->name = $r[1];
        }
        
if ($this->viewPath == null)
        {
            
$this->viewPath = Inflector::underscore($this->name);
        }

        
$this->modelClass = Inflector::singularize($this->name);
        
$this->modelKey  = Inflector::underscore($this->modelClass);        
          
        
if(!defined('AUTO_SESSION'|| AUTO_SESSION == true)
        {
            
$this->components[] = 'Session';
        }

        
if (is_subclass_of($this, 'AppController'))
        {
            
$appVars = get_class_vars('AppController');             
            
foreach(array('components', 'helpers', 'uses'as $var)
            {
                
if (isset($appVars[$var]) && !empty($appVars[$var]))
                {
                 
$diff = array_diff($appVars[$var], $this->{$var});
                    
$this->{$var= array_merge($this->{$var}, $diff);
                }
            }                             
        }
        
if (!empty($this->components))
        {
            
$component =& new Component($this);
        }
        parent
::__construct();             
    }
posted on 2006-03-17 13:02  liuchen  阅读(538)  评论(0编辑  收藏  举报