Php 文件包含在Yii中
我试图用solarium扩展(php中solr的扩展)扩展我的yii应用程序 但是,扩展的库有多个子目录。因此,我必须包含特定子目录中的文件,如下所示:Php 文件包含在Yii中,php,yii,solarium,Php,Yii,Solarium,我试图用solarium扩展(php中solr的扩展)扩展我的yii应用程序 但是,扩展的库有多个子目录。因此,我必须包含特定子目录中的文件,如下所示: Yii::import('application.extensions.Library.Solarium.*'); Yii::import('application.extensions.Library.Solarium.Client.*'); Yii::import('application.extensions.Library.Solari
Yii::import('application.extensions.Library.Solarium.*');
Yii::import('application.extensions.Library.Solarium.Client.*');
Yii::import('application.extensions.Library.Solarium.Client.RequestBuilder.*');
这将导致丑陋的代码以及不可预测性,如果我是否包含了所有文件。虽然我现在在操作中这样做,但我将在以后的生产中将其移动到配置。是否有其他方便的方法包含目录和子目录中的所有文件?有很多子目录,因此提及每个子目录将导致20-30行代码。一种选择是将所有库文件放在一个目录中进行生产。但是,我不确定它是否会影响功能(我对实现扩展/库通常是“新的”) 当我向Yii添加第三方类时,我将它们放在
protected/components/
下的文件夹中,比如/protected/components/solr
然后在主配置中,我将以下行添加到导入部分:
'import' => array(
'application.components.solr.*',
...
但您需要逐个添加每个子文件夹,这是由于性能问题,Yii的开发人员在一些版本之前删除了递归导入。如果你认为这很糟糕,那么你可以使用名称空间来做你想做的事情,但是你需要PHP5.3我将所有文件移动到一个目录下,至少是我正在使用的文件,我必须测试它,看看它是否会在某些情况下抛出错误。