이 글은 PHP 수업 등록 및 자동 로딩에 대한 자세한 분석 및 소개입니다. 필요한 친구는 다음과 같은
프로젝트 디렉토리를 참조할 수 있습니다.
1. 등록해야 합니다. 배열에 넣으세요
코드는 다음과 같습니다:
<?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; } } ?>
2. Register array
참고:1단계의 클래스 경로는 init.php에 상대적인 경로가 아닙니다. Utils에 비해 직설적으로 말하면 이는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!