首先要了解Root Alias
为方便起见,Yii 预定义了以下几个根别名:
system: 表示 Yii 框架目录;
zii: 表示 Zii 库 目录;
application: 表示应用的 基础目录;
webroot: 表示 入口脚本 文件所在的目录。此别名从版本 1.0.3 开始有效。
ext: 表示包含了所有第三方 扩展 的目录。此别名从版本 1.0.8 开始有效。
* 导入Class
使用别名可以很方便的导入类的定义。例如,如果我们想包含 protect/mylib/MyClass.php 类的定义,我们可以调用如下代码
Yii::import('application.mylib.MyClass');
import 方法跟 include 和 require 不同,它更加高效。导入(import)的类定义并不会真正被包含进来,直到它第一次被引用。多次导入同样的名字空间也会比 include_once 和 require_once 快得多。
提示: 当引用 Yii 框架定义的类时,我们不需要导入或包含它。所有的核心 Yii 类都已被提前导入了。
* 引用第三库
第一,比如说,我们要使用 Zend framework的东西。我们把zend framework解压到 prtected/vendors里面,现在的文件夹为 protected/vendors/Zend/Search/Lucene.php
第二,在controller文件的头部,插入下面代码。
Yii::import('application.vendors.*'); // 可以配置在config/main.php中
require once('Zend/Search/Lucene.php');
上面代码包含了Lucene.php这个类文件。因为我们用到的是相对路径,所以我们需要改变PHP加载文件的路径,Yii::import 一定要在require_once 之前。
综述,引入第三方的php有如下方法:
一、设置环境变量(在PHP)
echo get_include_path(); //获取当前所有环境变量。即该项目中那些代码已被引用。
set_include_path('.'. PATH_SEPARATOR . Yii::app()->basePath.'/lib/PHPExcel' . PATH_SEPARATOR . get_include_path()); //新增一个环境变量,写在最前面。
echo get_include_path();
通过两次差别,可以看出,使用set_include_path()函数,设置新的环境变量成功。
二、在YII中引用
1,Yii::import("application.lib.PHPExcel.*");
解释:
application相当于protected文件夹。
2,在yii的../config/main.php中,引入基路径
- return array(
- 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
- ......
-
- 'import'=>array(
- 'application.models.*',
- 'application.components.*',
- 'application.helpers.*',
- 'ext.mail.Message',
- 'application.lib.*',
- ),
- )
在代码中可以使用下面方式引用 Yii::app()->basePath 3,在controller使用
-
- require_once 'PHPExcel.php';
- require_once 'PHPExcel/IOFactory.php';
- require_once 'PHPExcel/Writer/Excel2007.php';
- require_once 'PHPExcel/Writer/Excel5.php';
三、在Yii中引用插件 注:插件和扩展不一样 1,源码放在project/ckeditor/* 2,在代码create,update中引用
- <?php
- include_once "/ckeditor/ckeditor.php";
-
- $CKEditor = new CKEditor();
-
-
- $CKEditor->basePath = Yii::app()->baseUrl.'/ckeditor/';
-
-
- $CKEditor->replace("News_content");
- ?>
引入插件方法二: 第一,比如说,我们要使用 Zend framework的东西。我们把zend framework解压到 prtected/vendors里面,现在的文件夹为 protected/vendors/Zend/Search/Lucene.php 第二,在controller文件的头部,插入下面代码。 Yii::import(’application.vendors.*’); require once(’Zend/Search/Lucene.php’); 上面代码包含了Lucene.php这个类文件。因为我们用到的是相对路径,所以我们需要改变PHP加载文件的路径,Yii::import 一定要在require_once 之前。 第三,一旦我们设置好了,我们就可以在controller里面使用了。比如说 $lucene=new Zend Search Lucene($pathOfIndex); $hits=$lucene->find(strtolower($keyword)); 四、在一个页面中引入任意其他文件 比如,想在../controllers/OutsourceController.php直接使用../components/RMSClient.php,可用如下方法
- require_once(dirname(__FILE__)."/../components/RMSClient.php");
-
-
- require_once(Yii::app()->baseUrl . "/protected/components/RMSClient.php");
-
-
-
分享到:
相关推荐
主要介绍了YII框架实现自定义第三方扩展操作,结合实例形式分析了Yii框架自定义第三方扩展操作的步骤与相关实现技巧,需要的朋友可以参考下
yii1.1中文文档 yii框架中文手册教程.pdf
它从一开始就为严谨的 Web 应用开发而精心设计,不是某个项目的副产品或第三方代码的组合,而是融合了作者丰富的 Web 应用开发经验和其它热门 Web 编程框架(或应用)优秀思想的结晶。 $Id: quickstart.what
Yii 2.0 权威指南 本教程的发布遵循 Yii 文档使用许可. 版权所有 2014 (c) Yii Software LLC. 介绍 已定稿 关于 Yii 已定稿 从 Yii 1.1 升级 入门 已定稿 安装 Yii 已定稿 运行应用 已定稿 第一次问候 已定稿 ...
YII框架中文手册,希望帮助需要帮助的人!
Yii2.0中文学习手册
很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架
权威的yii框架中文版开发文档,希望能够为您的yii框架学习带来帮助,让你的技术更上一层楼! zhihuizhan.com
yii框架中文手册教程和YII模板 我很辛苦才找到的
Yii中使用PHPExcel,相信你看完本文档之后,疑点瞬即消失
yii2.0官方比较全的中文手册,免费下载
yii框架中文手册教程,Yii 是一个基于组件、用于开发大型 Web 应用的高性能 ...它将 Web 编程中的可重用性发挥到极致, 能够显著加速开发进程。Yii(读作“易”)代表简单(easy)、高效(efficient)、可扩展(extensible).
Yii中文教程.docYii中文教程.docYii中文教程.docYii中文教程.doc
Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上...
此外,还可以利用一个灵活的字体类来加载任意字体文件,然后将文字插入到图片中。 Imagine 是一个会经常更新的类库,将来还会实现:图表生成、圆角过滤器等功能。 Yii2 安装 Imagine Imagine 的手动下载和安装这里就...
提供YII框架使用过程中的资料查询,中文版的,chm格式的,很好用
yii中文手册,你可以通过两种方式安装 Yii:使用 Composer 或下载一个归档文件。推荐使用前者,这样只需执行一条 简单的命令就可以安装新的扩展或更新 Yii 了。 注意:和 Yii 1 不同,以标准方式安装 Yii 2 时会同时...
YII-1.1.8中文手册,已经翻译好,提供大家下载
yii framework 中文完全手册
Yii2中文手册CHM版