私はYiiでプロジェクトを開発します。Yii:.phpファイルが必要
普通の.phpファイル(コンポーネントではなく、クラスではなく、PHP関数定義の通常のシーケンス)を必要とします。 Yiiフレームワークの下でこれを行う正しい方法は何ですか?プレーンなrequire_once()を使うべきですか?
require_once(Yii::app()->basePath . '/extensions/my-php-file.php');
右か?
私はYiiでプロジェクトを開発します。Yii:.phpファイルが必要
普通の.phpファイル(コンポーネントではなく、クラスではなく、PHP関数定義の通常のシーケンス)を必要とします。 Yiiフレームワークの下でこれを行う正しい方法は何ですか?プレーンなrequire_once()を使うべきですか?
require_once(Yii::app()->basePath . '/extensions/my-php-file.php');
右か?
はい、それは正しいのです。
例:これは権利ではありません: - > basePathを `のrequire_onceのYii ::アプリ()
require_once Yii::app()->basePath . '/extensions/PearMail/Mail-1.2.0/Mail.php';
あなたの質問の方法は問題ありませんが、ファイルの場所が常に同じフォルダになるように強制します。
フレキシブルYii::import
は、クラスのみをロードするためのもので、名前がfilenameと同じクラスのみです。
あなたがファイルへのパスを取得するには、エイリアスを使用したい場合は、あなたはまだそのように、getPathOfAlias
を使用して別名の恩恵を受けることができます。
require_once Yii::getPathOfAlias('application.extensions.my-php-file') . '.php';
現在のファイルへのファイルの相対が含まれるように、dirname(__FILE__)
を使用するのは良いですまたは__DIR__
(PHP 5.3+)
require_once __DIR__ . '/some-file.php';
が必要では')( 'は不要、関数ではありません。 '/extensions/PearMail/Mail-1.2.0/Mail.php'; ' – lin
@lin:私は文であり、関数ではないことを知っています。あなたのバージョンは確かにもっと愉快に見えますが、私はあなたが使用するものが重要であるとは思わない(読みやすさを除いて、多分)。 –
Yii :: $ appは、Yii2アプリケーションクラスの静的変数、 'yii \ web \ Application'です。 私はこれを試して、それは私のために働いた require_once Yii :: $ app-> basePath。 '/extensions/PearMail/Mail-1.2.0/Mail.php'; –