这里有新鲜出炉的PHP面向对象编程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于web开发领域。PHP的文件后缀名为php。
下面小编就为大家带来一篇PHP 自动加载的简单实现(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载
文件结构:
|--Api
|--Account.php
|--User.php
|--Service
|--Login.php
|--User.php
|--Application.php
Application.php
- <?php
- use 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
- <?php
- namespace Api;
- use Service\Login;
- class User{
- public function __construct(){
- echo "User类<br/>";
- new Login();
- new Account();
- }
- }
Api\Account.php
- <?php
- namespace Api;
- class Account{
- public function __construct(){
- echo "Account类<br/>";
- }
- }
Service\Login.php
- <?php
- namespace Service;
- class Login{
- public function __construct(){
- echo "Login类<br/>";
- }
- }
Service\User.php
- <?php
- namespace Service;
- class User{
- public function __construct(){
- echo "Service下的User类<br/>";
- }
- }
结果:
以上这篇PHP 自动加载的简单实现(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHPERZ。
来源: http://www.phperz.com/article/17/0906/343027.html