この記事は、PHP クラスの登録と 自動読み込み についての詳細な分析と紹介です。必要な場合は、次のように
プロジェクト ディレクトリを参照してください。登録する必要があります 配列に入れてください
コードは次のとおりです:
<?php final class Utils { private function construct() { } public static function getClasses($pre_path = '/') { $classes = array( 'DBConfig' => $pre_path.'DBConfig/DBConfig.php', 'User' => $pre_path.'Model/User.php', 'Dao' => $pre_path.'Dao/Dao.php', 'UserDao' => $pre_path.'Dao/UserDao.php', 'UserMapper' => $pre_path.'Mapping/UserMapper.php', ); return $classes; } } ?>
手順 1 のクラスのパスは、init.php に対する相対パスです。率直に言うと、これは、次のように init.php の自動ロード関数 spl_autoload_register を使用して
require クラス
コードを取得するためです: <?php
require_once
'/Utils/Utils.php';
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 ( 'UTF-8' );
//registe classes
spl_autoload_register ( array ($this,'loadClass' ) );
}
/**
* Class loader.
*/
public function loadClass($name) {
$classes = Utils::getClasses ();
if (!
array_key_exists
( $name, $classes )) {
die ( 'Class "' . $name . '" not found.' );
}
require_once $classes [$name];
}
}
$init = new Init ();
$init->init ();
?>
3。それが使用されるtest.php内の
コードは次のとおりです:
<?php require_once 'Init.php'; $dao = new UserDao(); $result = $dao->findByName('zcl'); ?>
以上がPHPクラスでの登録と自動ロードの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。