私は最初の MVC フレームワークに取り組んでおり、BASE_PATH、APP_PATH、LIB_PATH、および PUBLIC_PATH の 4 つの定数を定義したいと考えています。私のファイル構造は次のようになります。
/
/app
/controllers
/models
/views
/config
/db
/lib
/public_html
/css
/js
/img
私のindex.phpファイルはpublic_htmlディレクトリにあります。現在、次のコードがあります。
error_reporting(E_ALL);
define('BASE_PATH',dirname(realpath(__FILE__)) . "/../");
define('APP_PATH',dirname(realpath(__FILE__)) . "/../app/");
define('LIB_PATH',dirname(realpath(__FILE__)) . "/../lib/");
define('PUBLIC_PATH',dirname(realpath(__FILE__)) . "/");
require LIB_PATH . 'core.php';
これは機能しますが、「..」をすべて使わずにそれを行うより良い方法があるに違いないと感じています。何か提案がありますか、それともこれが最善の方法ですか?お知らせ下さい。ありがとうございました!
答え
@fireeyedboy と @KingCrunch に感謝します。探していたソリューションを思いつきました。これは私の最終的なコードです:
define('PUBLIC_PATH', dirname(__FILE__) . "/");
define('BASE_PATH', dirname(PUBLIC_PATH) . "/");
define('APP_PATH', BASE_PATH . "app/");
define('LIB_PATH', BASE_PATH . "lib/");