首页 > 代码库 > php __autoload 在有命名空间的时候失效(使用的局限性)
php __autoload 在有命名空间的时候失效(使用的局限性)
如果要使用__autoload方法,则不能再之前使用namespace,
使用命名空间,则至少php5.3不再调用__autoload方法
因此如果需要使用__autoload和命名空间,那么至少在整合的程序中不能使用命名空间
也就是说namespace与__autoload功能在一个文件中两者只能用其一
也就是说,如果使用了命名空间,那么在自动加载类的文件创建和访问对象只能使用命名全称进行访问
实际上的操作应该在此函数中调用类加载处理对象的获取加载列表获取函数,返回加载列表,然后逐一对加载项进行加载
这样处理,则可以在此定义加载路径的初始位置,加载会更方便,但是首先要静态加载 加载处理对象的类文件(对象可以在其文件中采用类静态属性表示)。
因为可以定义初始地址,也可以根据规则,指定加载文件的地址变化规则进行演变
自动加载不能处理AOP编程,因此APP对象需要能动态根据参数定义自动加载处理类对象,并生成各切面对象,并注册到调用队列中去
切面编程实际上就是事件关联编程,在合适的时机调用合适的处理过程。
可以用
spl_autoload_register代替
php __autoload 在有命名空间的时候失效(使用的局限性)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。