php自动加载

简单概述PHP的命名空间及其在自动载入上的应用

这一生的挚爱 提交于 2019-12-01 00:30:21
php自5.3以后引入了命名空间namespace这一特性使得php在面向对象设计的过程中更加规范清晰,同时在框架的架构中自动载入模式也完全尽齐用来提高框架自身的性能--按需载入 无命名空间声明其实为在根命名空间下 <?php /** * 命名空间为Project * 则类的完整名为 Project\Web 而不是Web */ namespace Project; class Web { function __construct() { echo __NAMESPACE__ . '<br/>'; echo __CLASS__ . '<br/>'; } } //若不已'\'开头则为使用当前命名空间下的类 new Web(); //当然我们可以指出完整的类名来 \Project\Web 为根命名空间下的Project命名空间下的Web类 new \Project\Web(); ?> 1、若当前无命名空间声明,则默认在根命名空间'\'下 2、若当前存在命名空间生命,则默认的类实例化时都是此命名空间为前提,除非使用use声明某类的完整类名 比如 <?php namespace Web; use Common\Tools as CommonTools; class Tools { } //如同linux的路径 //当前目录为 usr, 则 local 意味当前目录usr下的local,但