ホームページ >バックエンド開発 >PHPチュートリアル >PHPクラスでの登録と自動ロードの使用方法

PHPクラスでの登録と自動ロードの使用方法

伊谢尔伦
伊谢尔伦オリジナル
2017-07-01 09:52:46987ブラウズ

この記事は、PHP クラスの登録と 自動読み込み についての詳細な分析と紹介です。必要な場合は、次のように

プロジェクト ディレクトリを参照してください。登録する必要があります 配列に入れてください

コードは次のとおりです:

<?php
final class Utils {
    private function construct() {
    }
    public static function getClasses($pre_path = &#39;/&#39;) {
        $classes = array(
                &#39;DBConfig&#39; => $pre_path.&#39;DBConfig/DBConfig.php&#39;,
                &#39;User&#39; => $pre_path.&#39;Model/User.php&#39;,
                &#39;Dao&#39; => $pre_path.&#39;Dao/Dao.php&#39;,
                &#39;UserDao&#39; => $pre_path.&#39;Dao/UserDao.php&#39;,
                &#39;UserMapper&#39; => $pre_path.&#39;Mapping/UserMapper.php&#39;,
        );
        return $classes;
    }
}
?>


2. 配列を登録します
注:

手順 1 のクラスのパスは、init.php に対する相対パスです。率直に言うと、これは、次のように init.php の自動ロード関数 spl_autoload_register を使用して

require

クラス

コードを取得するためです:

<?php
require_once
 &#39;/Utils/Utils.php&#39;;
final class Init {
    /**
     * System config.
     */
    public function init() {
        // error reporting - all errors for development (ensure you have
        // 
display
_errors = On in your php.ini file)
        
error_reporting
 ( E_ALL | E_STRICT );
        mb_internal_encoding ( &#39;UTF-8&#39; );
        //registe classes
        spl_autoload_register ( array ($this,&#39;loadClass&#39; ) );
    }
    /**
     * Class loader.
     */
    public function loadClass($name) {
        $classes = Utils::getClasses ();
        if (! 
array_key_exists
 ( $name, $classes )) {
            die ( &#39;Class "&#39; . $name . &#39;" not found.&#39; );
        }
        require_once $classes [$name];
    }
}
$init = new Init ();
$init->init ();
?>
3。それが使用されるtest.php内の

コードは次のとおりです:

<?php
require_once &#39;Init.php&#39;;
$dao = new UserDao();
$result = $dao->findByName(&#39;zcl&#39;);
?>


以上がPHPクラスでの登録と自動ロードの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。