【Web】オレオレフレームワークを作ってみる~自動クラスロード実装編~

プログラミング PHP Web

【Web】オレオレフレームワークを作ってみる~自動クラスロード実装編~

今週はお天気がぐずついた1週間になりそうで。
昨日は少し寒かった。
とりあえず、バイクのバッテリーの充電を先週末に行ったので、今週末は少しは乗れるかなぁ…。
また今年もエンジンオイルの交換とプラグ交換はしないといけない。
単気筒だし、オイルもプラグもローコストで〇。
昔みたいにスピード狂じゃないので、十分。むしろギヤ比をワイドにしたいぐらいだ。

さて、今回もオレオレフレームワーク。
以前作成した自動クラスロードを実装する。

これがないと、次のステップに進まない。


ディレクトリ構造

ディレクトリ構造のおさらい

├─bases
├─config
├─controllers
├─datas
├─libralies
│  └─smarty
├─loader
├─models
├─templates
│  └─components
├─tmp
│  └─smarty
├─.vscode
└─styles

「Loader」ディレクトリに以前作成したAutoloader.phpをぶち込む。


index.phpを修正

<?php

// Get url
if ( isset($_GET['params']) === true )
{
    $params = explode('/', $_GET['params']);
} else {
    phpinfo();
    return ;
}

// autoloader
require_once('./loader/Autoloader.php');
$autoLoader = new AutoLoader();
$autoLoader->addTargetDirectry(dirname(__FILE__) . BASE_DIRECTRY);
$autoLoader->addTargetDirectry(dirname(__FILE__) . DATA_DIRECTRY);
$autoLoader->addTargetDirectry(dirname(__FILE__) . MODEL_DIRECTRY);
$autoLoader->addTargetDirectry(dirname(__FILE__) . CONTROLLER_DIRECTRY);
$autoLoader->registAutoload(); 

require_once関数で作成したAutoloader.phpを読み込み。
読込対象のディレクトリを登録。あらかじめ定数でディレクトリを定義。
まぁ~この辺はベタ打ちでもいいかもしれないが、汎用性を考慮。
最後にAutoload関数を登録。
といった流れ。なんのことはない。


これで自動クラス読み込みはOKだな。
次は、Smartyとコントローラーの実装だ。

前の記事 次の記事