0

フォルダ構造は次のようになります。

/main.php
  /lib/class1.php
  /lib/class2.php
  /lib/class3.php

大量のrequire/includeを行わずに、main.phpでlibのすべてのクラスを利用できるようにしたいと考えています。これは可能ですか?ディレクトリ内にすべてのファイルを含めることは可能ですか?

4

6 に答える 6

0

はい、はい、それは完全に可能であり、非常に簡単です。これを行う最善の方法は、http://uk1.php.net/autoloadを利用することです。

于 2013-05-15T14:38:15.173 に答える
0

URL からクラスを直接ロードする自動ロード関数を作成する

function __autoload($class_name) {
    include "/lib/".$class_name . '.php'; //Add your folder structure like this
            // ^ Change the path to your specific need
}

//Then Simply
$class1_object = new Class1(); 
于 2013-05-15T14:46:59.183 に答える
0

@Puciek が提案したような自動ロード機能を使用することをお勧めします。

ただし、自分で行うことに興味がある場合は、次のようにすることができます。

$path = "lib/";

foreach(new \DirectoryIterator($path) as $lib){
    if(strstr($lib->getFilename(), ".php")){
        require_once $path.$lib->getFilename();
    }
}

上記DirectoryIteratorでは、PHP SPL の一部である which を使用します。

于 2013-05-15T14:42:26.007 に答える