それではまずフロントコントローラの入口となるindex.phpをみてみましょう。
DocumentRootとなるhtdocsにあります。
<?php $app_root_path = './hellosimg'; $simg_root_path = './simg'; $smarty_root_path = './Smarty-3.1.19/libs'; $pear_root_path = './pear'; set_include_path(get_include_path() . PATH_SEPARATOR . $simg_root_path); set_include_path(get_include_path() . PATH_SEPARATOR . $smarty_root_path ); set_include_path(get_include_path() . PATH_SEPARATOR . $pear_root_path ); require_once('SimgLog.php'); require_once('SimgEntry.php'); SimgLog::getInstance()->initialize($app_root_path . "/logs" . "/trace_" . date('Y-m-d') . ".log", "test"); $entry = new SimgEntry($app_root_path, $simg_root_path); $entry->dispatch(); ?>
まず、Simg本体とSimgが利用するSmarty及びPearのパスをPHPのIncludePathへ追加します。
これはPHP.iniで行ってもいいのですが、ローカルなツールをPHP.iniへ設定しない方針ですので、このようにしています。
また、プログラム構造のルートとなるパスをSimgへ渡す必要がありますので、これも最初に宣言しています。
次はログです。
Simgのログ機能を初期化します。
プログラム構造のルート($app_root_pathの内容)へlogsというディレクトリを作っておいてください。
ここに”trace_”をプレフィクスとした日付単位のログファイルが生成されます。
そしていよいよSimg本体のコールです。
SimgEntryというクラスがSimgへ誘いますので、これを生成しdispachします。
これでSimgがプログラム構造で宣言されているクラスを基に様々なインスタンスを生成し、それらをコールバックしていくことで、Webアプリを実現するわけです。