Yii框架之路径别名PathOfAlias

php相关 / 2012年12月01日 18时46分 / 11832人浏览
路径别名(PathOfAlias) Yii 中广泛的使用了路径别名。路径别名关联于一个目录或文件的路径。它以点号语法指定,类似于广泛使用的名字空间(namespace)格式: RootAlias.path.to.target 其中的 RootAlias 是某个现存目录的别名,通过调用 YiiBase::setPathOfAlias(), 我们可以定义新的路径别名。为方便起见,Yii 预定义了以下几个根别名: system: 表示 Yii 框架目录; zii: 表示 Zii 库 目录; application: 表示应用的 基础目录; webroot: 表示 入口脚本 文件所在的目录。 ext: 表示包含了所有第三方 扩展 的目录。 额外的,如果应用使用了 模块, (Yii) 也为每个模块ID定义了根别名,指向相应模块的跟目录。 通过使用 YiiBase::getPathOfAlias(), 别名可以被翻译为其相应的路径。 使用别名可以很方便的导入类的定义。例如,如果我们想包含 CController 类的定义,我们可以调用如下代码 Yii::import('system.web.CController'); import方法跟 include 和 require 不同,它更加高效。导入(import)的类定义并不会真正被包含进来,直到它第一次被引用。多次导入同样的名字空间也会比 include_once 和 require_once 快得多。 我们还可以使用如下语法导入整个目录,这样此目录下的类文件就会在需要时被自动包含。 Yii::import('system.web.*'); 除 import 外, 别名还在其他许多地方指向类。例如,路径别名可以传递给 Yii::createComponent() 以创建相应类的实例。即使类文件在之前从未被包含。 不要将路径别名和名字空间混淆了,名字空间是指对一些类名的一个逻辑组合,这样它们就可以相互区分开,即使有相同的名字。而路径别名是用于指向一个类文件或目录。路径别名与名字空间并不冲突。