当前位置: 首页>>代码示例>>PHP>>正文


PHP modules::autoload方法代码示例

本文整理汇总了PHP中modules::autoload方法的典型用法代码示例。如果您正苦于以下问题:PHP modules::autoload方法的具体用法?PHP modules::autoload怎么用?PHP modules::autoload使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在modules的用法示例。


在下文中一共展示了modules::autoload方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: autoload

 /** Autload items **/
 public function autoload()
 {
     $ci = modules::$registry[$this->_class];
     /* process application autoload */
     if (!isset(self::$autoload) and self::$autoload = TRUE) {
         self::$loader->_ci_autoloader();
     }
     /* controller autoload array */
     $autoload = $ci->autoload() or $autoload = array();
     list($path, $file) = modules::find('autoload', $this->_module, 'config/');
     /* module autoload file */
     if ($path != FALSE) {
         $autoload = array_merge(modules::load_file($file, $path, 'autoload'), $autoload);
     }
     /* nothing to do? */
     if (count($autoload) == 0) {
         return;
     }
     /* autoload database & libraries */
     if (isset($autoload['libraries'])) {
         if (in_array('database', $autoload['libraries'])) {
             /* autoload database */
             if (!($db = $ci->config->item('database'))) {
                 $db['params'] = 'default';
                 $db['active_record'] = TRUE;
             }
             $ci->db = $this->database($db['params'], TRUE, $db['active_record']);
             $autoload['libraries'] = array_diff($autoload['libraries'], array('database'));
         }
         /* autoload libraries */
         foreach ($autoload['libraries'] as $library) {
             $this->library($library);
         }
     }
     /* autoload config */
     if (isset($autoload['config'])) {
         foreach ($autoload['config'] as $key => $val) {
             $this->config($val, TRUE);
         }
     }
     /* autoload helpers, plugins, scripts, languages */
     foreach (array('helper', 'plugin', 'script', 'language') as $type) {
         if (isset($autoload[$type])) {
             foreach ($autoload[$type] as $item) {
                 $this->{$type}($item);
             }
         }
     }
     /* autoload base classes */
     if (isset($autoload['class'])) {
         foreach ($autoload['class'] as $class) {
             modules::autoload($class);
         }
     }
     /* autoload models */
     if (isset($autoload['model'])) {
         foreach ($autoload['model'] as $model => $alias) {
             is_numeric($model) ? $this->model($alias) : $this->model($model, $alias);
         }
     }
     /* autoload module controllers */
     if (isset($autoload['modules']) and !in_array($this->_class, $autoload['modules'])) {
         foreach ($autoload['modules'] as $module) {
             $this->module($module);
         }
     }
 }
开发者ID:silentworks,项目名称:vaspasian,代码行数:68,代码来源:Controller.php


注:本文中的modules::autoload方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。