This article mainly introduces the simple implementation of PHP automatic loading, has a certain reference value, now share to everyone, the need for friends can refer to
PSR-based specification, using namespaces and Spl_autoload_register () for automatic loading
File structure:
|--api
|--account.php
|--user.php
|--service
|--login.php
|--user.php
|--application.php
application.php
<?phpuse api\user;use Service\user as User2;class application{public static function main () { self::registe (); New User (); New User2 (); } public static function Registe () { spl_autoload_register ("Application::loadclass"); } public static function LoadClass ($class) { $class =str_replace (' \ \ ', '/', $class) ; $class = "./". $class. ". PHP "; Require_once $class; }} Application::main ();
api\user.php
<?phpnamespace api;use service\login;class user{public function __construct () { echo "User class <br/>"; New Login (); New account ();} }
api\account.php
<?phpnamespace api;class account{public function __construct () { echo ' account Class <br/> '; }}
service\login.php
<?phpnamespace service;class login{public function __construct () { echo "Login class <br/>"; }}
service\user.php
<?phpnamespace service;class user{public function __construct () { echo "Service under User class <br/>"; }}
Results: