Yii2框架之所以好用,是因为实现了四个自动化:引入文件自动化,创建实例自动化,获取实例自动化,调用方法自动化,也就是所谓的:自动加载,依赖注入,自动获取实例,动态调用方法。
自动加载,解决了手动引入文件的麻烦。当项目集成大量的开源插件,引入文件会成为一个灾难。Yii2框架的自动加载是通过遵循psr-4(psr-0)标准和__spl_autoload_register()函数做到的。
依赖注入,解决了手动创建实例的麻烦。手动创建实例是一个体力活,一不留神就会出错,而且手动创建的实例还不易管理,浪费资源。Yii2框架的依赖注入是通过config文件和reflectionClass()函数做到的。config中的components都会通过reflectionClass()实例化,放到容器中统一管理起来。
获取实例,可以直接通过访问属性的方式获取。省去了手动调用get()和set()方法,这是利用__get()和__set()魔术方法做到的。
动态调用方法,通过reflectionMethod()动态执行方法,Yii2的路由过程就是利用它来实现的。
Yii2将很多手动的体力活变成了自动化过程,解放了双手生产力才会有飞跃。