CI框架源码阅读---------Controller.php_PHP教程

WBOY
Libérer: 2016-07-14 10:09:16
original
839 Les gens l'ont consulté

[php]  

/** 
 * CodeIgniter 
 * 
 * An open source application development framework for PHP 5.1.6 or newer 
 * 
 * @package     CodeIgniter 
 * @author      ExpressionEngine Dev Team 
 * @copyright   Copyright (c) 2008 - 2011, EllisLab, Inc. 
 * @license     http://codeigniter.com/user_guide/license.html 
 * @link        http://codeigniter.com 
 * @since       Version 1.0 
 * @filesource 
 */  
  
// ------------------------------------------------------------------------  
  
/** 
 * CodeIgniter Application Controller Class 
 * 应用程序控制器类 
 * 
 * This class object is the super class that every library in 
 * CodeIgniter will be assigned to. 
 *  
 * 
 * @package     CodeIgniter 
 * @subpackage  Libraries 
 * @category    Libraries 
 * @author      ExpressionEngine Dev Team 
 * @link        http://codeigniter.com/user_guide/general/controllers.html 
 */  
class CI_Controller {  
  
    private static $instance;  
  
    /** 
     * Constructor 
     */  
    public function __construct()  
    {  
        // 通过self::$instance实现单例化,在第一次实例时,这个静态变量实质就是引用了这个实例。  
        // 以后都可以通过&get_instance();来获得这个单一实例。构成这样的单例模式的  
        // 好处就是单例类不会重复占用内存和系统资源而是让应用程序的其他部分更好的使用这些资源。  
          
        self::$instance =& $this;  
          
        // Assign all the class objects that were instantiated by the  
        // bootstrap file (CodeIgniter.php) to local class variables  
        // so that CI can run as one big super object.  
        // 分配在引导文件(CodeIgniter.php)中被实例化的类对象给$this  
        // 这样CI可以运行一个超级对象。其实意思就是  
        // 把目前程序已经加载的所有的组件都给这个超级控制器来掌管。  
        foreach (is_loaded() as $var => $class)  
        {  
            $this->$var =& load_class($class);  
        }  
  
        // 给超级控制器加载Loader组件,这个组件是它的好助手,  
        // 很多时候你会经常用到$this->load->xxx()的形式加载某个东西,  
        // 这个load就是控制器被构造的时候就伴随存在的。  
          
        $this->load =& load_class('Loader', 'core');  
  
        // 初始化Loader组件,详细Loader.php  
        $this->load->initialize();  www.2cto.com
          
        log_message('debug', "Controller Class Initialized");  
    }  
  
    public static function &get_instance()  
    {  
        return self::$instance;  
    }  
}  
// END Controller class  
  
/* End of file Controller.php */  
/* Location: ./system/core/Controller.php */  
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477662.htmlTechArticle[php] ?php if ( ! defined(BASEPATH)) exit(No direct script access allowed); /** * CodeIgniter * * An open source application development framework for PHP 5.1.6 or newer * * @packag...
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!