2014-04-30 87 views
2

這是我的代碼:使用「使用」關鍵字

public function actionS3() 
{ 
    require_once(Yii::app()->basePath . '/extensions/s3/aws.phar'); 
    use Aws\S3\S3Client; 
} 

它給我的錯誤

Parse error: syntax error, unexpected 'use' (T_USE) in...

請幫

回答

6

因爲你應該在最上方註明使用命名空間後的文件

use Aws\S3\S3Client; 

class Foo 
{ 
    public function actionS3() 
    { 
     require_once(Yii::app()->basePath . '/extensions/s3/aws.phar'); 
    } 
} 

但是在Yii 1它可能沒有幫助。使用此方法,可與具有命名空間的第三方組件的工作:如果你要使用藥業歸檔

Yii::setPathOfAlias('Aws', Yii::getPathOfAlias('common.vendors.Aws')); 
$model = new Aws\S3\S3Client(); 

最後,可以將其包含在php.ini:

auto_prepend_file="/custom/path/unleashapi/protected/extensions/goutte.phar" 
+1

感謝。事實上,第一個解決方案幫助。 – iThink