0

MVC フレームワークを使用する場合、コントローラーを自動ロードするのが一般的な方法であることは知っています。コントローラーが正常に自動ロードされる独自のミニフレームワークを作成しました。

同じオートロード機能でモデルもロードすることで、セキュリティ/悪い問題はありますか?

いえ

function __autoload($className) { // Autoload both controllers and models.
if(stristr($className, 'Model'))
{
    if (is_readable(Ms . $className . '.php')) {
        include Ms . $className . '.php';
    }
} else {
    if (is_readable(Cs . $className . '.php')) {
        include Cs . $className . '.php';
    }
}
}
4

1 に答える 1

0

名前空間を使用spl_autoload_register()して、そのようなオートローダーを取得することができます。コントローラーのみのオートローダーではなく、マルチオートローダー(クラスのマルチクラス用のオートローダー)に関する特定のセキュリティ問題はありません。

私は通常、次のような名前空間を使用します。

$home = new controller\home;
$home->actionIndex();

$users = new model\users;

$post = new view\post;

そこから\、クラス名のaをaに置き換えて/、ファイルの特定のパスを取得するのは簡単です(もちろん、必要なセキュリティチェックをいつものように実行します)。

于 2013-01-02T09:55:39.450 に答える