web-dev-qa-db-ja.com

require_onceへの最良の方法は何ですか?

メソッド1

ディレクトリセパレータをハードコーディングする

require_once JPATH_COMPONENT.'/models/fields/courselist.php';

メソッド2

ディレクトリセパレータをソフトコード化する

if(!defined('DS')){
  define('DS',DIRECTORY_SEPARATOR);
}

require_once JPATH_COMPONENT.DS.'models'.DS.'fields'.DS.'courselist.php';
4
Malaiselvan

速度に違いがあるかどうかはわかりませんが、最初の方法の方が読みやすいと思います。 DIRECTORY_SEPARATORを使用する理由は、プラットフォームに依存しないようにするためです。 2番目の例:

'models'.DS.'fields'.DS.'courselist.php'

windowsでは次のように表示されます。

models\fields\courselist.php

他のほとんどのシステムでは次のようになります:

models/fields/courselist.php

ただし、Windowsは、スラッシュ/をディレクトリ区切り文字と同じように満足しており、文句を言うことはありません。

4
johanpw

Joomlaは、DS定数をJoomla 3で削除しました。PHPは、Windowsでもスラッシュを使用すると正常に機能するため、ほとんどの場合必要ありません。

したがって、使用しないでください。

6
Bakual