2015-09-15 20 views
2

我想一個PHPExcel類添加到Yii2模型, 我用這個代碼,要求IOFactory.php模型:如何需要在模型中的文件,YII2

require_once(Yii::getAlias('@vendor/excel/PHPExcel/IOFactory.php')); 

但是當我想使用那個類,我得到這個錯誤信息:

Class 'backend\models\PHPExcel_IOFactory' not found 

你能告訴我我的錯誤在哪裏嗎?

+0

你怎麼使用類? –

+0

像這樣'$ objPHPExcel = PHPExcel_IOFactory :: load(Yii :: getAlias('@ vendor/excel/05featuredemo.xls'));' – Sami

回答

2

不要在Yii2項目中使用require類。所有必需的庫應通過composer安裝,或者在項目文件中找到。一開始作曲家可能很難理解,但他的優勢是巨大的。您只需輸入一個命令即可安裝庫!

Read more about autoloading in Yii2

在這種情況下,你可以安裝PHPExcel通過增加composer.json這一行:

"require": { 
    ... 
    "phpexcel/phpexcel": "1.8.1", 
    ... 
} 

下運行composer update,你可以能夠使用簡單的

$phpExcel = new \PHPExcel_IOFactory();

+1

如果我想添加另一個類到模型,哪個不是PHP excel? – Sami

+0

我應該說,代碼完美工作,在視圖頁面中使用它時,模型和視圖有什麼不同? – Sami

+0

什麼都沒有。這是單一的應用程序。嘗試在模型名稱空間下添加'use \ PHPExcel_IOFactory;',或者在代碼中使用'\ PHPExcel_IOFactory :: load'。注意'\\'符號。它說什麼水平找到一個類。 –