关于“php依赖注入教程”的问题,小编就整理了【3】个相关介绍“php依赖注入教程”的解答:
依赖注入的三种方式优缺点?1.构造方法注入:
优点:
•在构造方法中体现出对其他类的依赖,一眼就能看出这个类需要其他那些类才能工作。
脱离了IOC框架,这个类仍然可以工作,POJO的概念。
一旦对象初始化成功了,这个对象的状态肯定是正确的。
缺点:
·构造函数会有很多参数(Bad smell)。•有些类是需要默认构造函数的,比如MVC框架的Controller类,一旦使用构造函数注入,就无 法使用默认构造 函数。
•这个类里面的有些方法并不需要用到这些依赖(Bad smell)。
2. Set方法注入:
优点:
·在对象的整个生命周期内,可以随时动态的改变依赖。
·非常灵活。
缺点:
·对象在创建后,被设置依赖对象之前这段时间状态是不对的。
·不直观,无法清晰地表示哪些属性是必须的。
3.方法参数注入
优点:
比较灵活。
缺点:
新加入依赖时会破坏原有的方法签名,如果这个方法已经被其他很多模块用到就很麻烦。
与构造方法注入一样,会有很多参数。
php怎样传参不会被注入?防止注入的几种办法:
首先,通过系统函数间的过滤特殊符号addslashes(需要被过滤的内容)。
1、register_globals = off 设置为关闭状态。
2、sql语句书写时尽量不要省略小引号和单引号
select * from table where id=2 (不规范)
select * from ·table· where ·id·=’2’ (规范)。
3、正确的使用 $_post $_get $_session 等接受参数,并加以过滤。
4、提高数据库教程命名技巧,对于一些重要的字段可根据程序特点命名。
5、对于常用方法加以封装,避免直接暴露sql语句。
php 容器的理解?容器:字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,现在我们讨论的是这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调(闭包),通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦”、“依赖注入”。
到此,以上就是小编对于“php依赖注入教程”的问题就介绍到这了,希望介绍关于“php依赖注入教程”的【3】点解答对大家有用。