|
发表于 2013-8-9 11:21:26
|
显示全部楼层
Loader.php
本帖最后由 kuailewang 于 2013-8-9 11:53 编辑
admin\index.php
/*
* --------------------------------------------------------------------
* 加载DiliCMS 环境常量
* --------------------------------------------------------------------
*/
require_once BASEPATH . '../' . 'shared/config/constant.php';
shared\config\constant.php
/*
|--------------------------------------------------------------------------
| DiliCMS 环境常量
|--------------------------------------------------------------------------
|
| 本文件由应用程序入口文件调用
|
*/
define('IN_DILICMS', TRUE);
define('DILICMS_VERSION', 'V2.1.1');
define('DILICMS_SHARE_PATH', BASEPATH . '../shared/');
define('DILICMS_EXTENSION_PATH', BASEPATH . '../extensions/');
//学习
$autoload['packages'] = array(DILICMS_SHARE_PATH);
====================================================
Loader.php
private function _ci_autoloader()
// Autoload packages
if (isset($autoload['packages']))
{
foreach ($autoload['packages'] as $package_path)
{
$this->add_package_path($package_path);
}
}
====================================================
应用程序包(Package)应用程序包(Package)可以很便捷的将你的应用部署在独立的目录中,以实现自己整套的类库,模型,辅助函数,配置,文件和语言包。建议将这些应用程序包被放置在application/third_party文件夹。下面是一个简单应用程序包的目录
简单应用程序包"Foo Bar"的目录下面是一个名为"Foo Bar"的应用程序包目录的例子。
/application/third_party/foo_bar
config/
helpers/
language/
libraries/
models/
无论应用程序包是为了实现什么样的目的,它都包含属于自己的配置文件、辅助函数、语言包、类库和模型。在你的控制器里使用这些资源,你首先需要告知加载器(Loader)从应用程序包加载资源、添加包路径。
$this->load->add_package_path()添加包指示加载器类使用给定的路径用以请求后续的资源。例如, "Foo Bar"应用程序包里有一个名为foo_bar.php的类.在控制器中,我们可以按照如下的方法调用:
$this->load->add_package_path(APPPATH.'third_party/foo_bar/');
$this->load->library('foo_bar');$this->load->remove_package_path()当你的控制器完成从应用程序包中调取资源,特别是如果你需要调用其他的应用程序包的资源,你会希望删除当前使用的包路径来让加载器不在使用这个文件夹中的资源。要删除的最后一个使用的包路径,你可以调用不带参数的方法。
$this->load->remove_package_path()或者删除一个特定的包路径,指定与之前使用add_package_path所加载的包相同的路径。:
$this->load->remove_package_path(APPPATH.'third_party/foo_bar/'); |
|