【发布时间】:2013-06-24 18:12:02
【问题描述】:
我用 Yii 开发了一个项目。
我需要一个普通的 .php 文件(不是组件,不是类,只是 PHP 函数定义的常规序列)。在 Yii 框架下执行此操作的正确方法是什么?我应该使用普通的 require_once() 吗?
require_once(Yii::app()->basePath . '/extensions/my-php-file.php');
对吗?
【问题讨论】:
我用 Yii 开发了一个项目。
我需要一个普通的 .php 文件(不是组件,不是类,只是 PHP 函数定义的常规序列)。在 Yii 框架下执行此操作的正确方法是什么?我应该使用普通的 require_once() 吗?
require_once(Yii::app()->basePath . '/extensions/my-php-file.php');
对吗?
【问题讨论】:
是的,没错。
例子:
require_once Yii::app()->basePath . '/extensions/PearMail/Mail-1.2.0/Mail.php';
【讨论】:
():这是对的:require_once Yii::app()->basePath . '/extensions/PearMail/Mail-1.2.0/Mail.php';
您问题中的方法很好,但强制文件位置始终位于同一文件夹中。
灵活的Yii::import 仅用于加载类,并且仅用于加载名称与文件名相同的类。
但是,如果您想使用别名来获取文件路径,您仍然可以通过使用 getPathOfAlias 来从别名中受益,如下所示:
require_once Yii::getPathOfAlias('application.extensions.my-php-file') . '.php';
要包含相对于当前文件的文件,最好使用dirname(__FILE__) 或__DIR__ (php 5.3+)
require_once __DIR__ . '/some-file.php';
【讨论】: