以下のautoloadコンストラクトでわかるように、アプリケーションを実行するためにいくつかの からも'spl_autoload_register'
呼び出しています。index
.classes
lazy
functions
auto-loaded classes
私のプロジェクトの範囲では、たとえば$this->function
別function
の an内で参照することはできませんauto-loaded class
。おそらく、このようにインスタンス化される方法を理解していない可能性があります。
手続き型および OOP 構造を許可するプロジェクトの最も効率的な方法が欲しいのですが、lol を使用するのが本当に好きです。自動ローダーによってロードされたクラス内でそれを$this
どのように使用し、効率的に使用できるでしょうか。編集しますか? $this
init() はおそらく許可し$this
ますか?
私の無知がプロジェクトを作成し、コーディング構造を最新のものにしていないことを許してください。
無愛想self::
でもあるべきstatic::
ですか?
クラス -> オートロード -> インデックス
class autoloader {
public static $loader;
public static function init()
{
if(self::$loader == NULL) {
self::$loader = new self();
}
return self::$loader;
}
public function __construct() {
spl_autoload_register(array(this, 'library'));
request::request();
template::render();
}
public function library($class)
{
set_include_path(get_include_path() . PATH_SEPARATOR . '/lib');
spl_autoload_extensions('.class.php');
spl_autoload($class);
}
}