开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第一阶段:类的加载(小结)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/711/detail/12673
类的加载(小结)
内容介绍:
一、类的加载小结
一、类的加载小结
前面讲解完类的加载,手动加载和自动加载,自动加载的两种方式,魔术函数以及手动的自定义函数实现自动加载。
明确的是:
1、类的使用必须先保证内存中该类存在,不存在是无法使用的。
2、可以使用手动加载来确保类的使用安全,优点是明确,缺点是繁琐。
它的优点是明确,需要使用的时候才会进行加载,可以看到明确的代码;缺点是繁琐,每一次使用都需要加载,而且无法确定加载是否完成,所以还需要判定后才能加载。
3、可以使用自动加载来让系统按照开发者设定的路径和方式去寻找类,并尝试加载到内存。
需要注意的是,这里指的是可以使用自动加载来让系统按照开发者设定的路径和方式去寻找类。而不是自动真正的加载;而且是尝试加载,而不是真正的加载。
4、自动加载可以使用 __autoload() 函数来实现,也可以使用自定义函数 +spl autoload_register()注册共同实现(后者推荐)
自动加载有两种方式,一个是 __autoload,但由于很容易出现差错,所以不建议使用;另外一个是自定义函数+spl autoload_register()注册的方式,共同实现加载,这种方式明显也有 __autoload 的特性,也就是可以注册机制可以注册多个函数来实现。 __autoload 只能定义一个函数,这个函数里面有多组逻辑。而 spl autoload_register 定义的函数在寻找类的过程中是互斥的,即一个函数找到,其他函数不会运行。所以这个方式可以节省很多代码。
(1)自动加载的优点:代码简洁(基本上属于一次性定义)
(2)自动加载的缺点:给人感觉不可控。
在学习中如果不加载类,容易失去结构性,产生类只需要使用,不需要关注类之间的关联这样的错觉
(3)总体来说,优点大于缺点,使用这种方式可以帮助解决很多问题。
5、基本上所有的框架都在使用自动力加载机制
基本上所有的框架都在使用自动力加载机制,还有所有的项目开发都是使用自动加载机制。