yii 引用php文件,Yii中引出php文件及插件

Yii中引入php文件及插件

作者:zccst

一、设置环境变量(在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.'..',

......

// autoloading model and component classes

'import'=>array(

'application.models.*',

'application.components.*',

'application.helpers.*', // helper methods

'ext.mail.Message',

'application.lib.*',

),

)

在代码中可以使用下面方式引用

Yii::app()->basePath

3,在controller使用

//引入PHPExcel相关文件

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中引用

include_once "/ckeditor/ckeditor.php";

// Create a class instance.

$CKEditor = new CKEditor();

// Path to the CKEditor directory.

$CKEditor->basePath = Yii::app()->baseUrl.'/ckeditor/';

// Replace a textarea element with an id (or name) of "textarea_id".

$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");

//原因:include、require包含的是服务器上的文件路劲,和url没有直接关系。

//如果想用yii::app()方式,可以使用../config/main.php中的Yii::app()->basePath.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值