1.PHP 中传值与传引用的区别,什么时候传值,什么时候传引用?
-
值传递,就是说仅将对象的值传递给目标对象,就相当于copy;
-
传引用,就是说将对象在内存中的地址传递给目标对象
-
传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值 传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象
2.SESSION 与 COOKIE的区别是什么?
-
Cookies存放在用户端,Session存放在服务器端
-
Session的安全性更高
-
Cookies会占用一些带宽,Session保存在服务器端,不需要传输
-
Cookies的生命周期是累计的,从创建就开始算;Session生命周期是间隔的,如果在结束之前访问过session,那么session的生命周期重新计算
3.表单中get和post提交方式的区别
-
Get只能发有限数量的数据,Post没有限制
-
Get发送的数据不受保护,安全性低;而Post的安全性高
-
在表单中使用Get方法时,数据只接受ASCLL字符,Post允许二进制和ASCII字符
-
Get主要是获取数据,Post主要是提交更新数据
4.简述PHP中 isset、empty、is_null的区别
-
isset判断变量是否存在
-
empty判断变量是否为空
-
isNull判断变量是否为null
5.简述PHP中单引号双引号的区别
-
转义字符不同
-
对变量解析不同,双引号可以解析变量
-
解析速度不同,单引号速度比较快
6.简述PHP OOP的三大特性
-
三大特性分别为:封装、继承、多态
-
封装:把对象的属性和行为结合成一个独立的单位 好处是便于代码修改
-
继承:可以让一个类型的对象获得另外一个类型对象属性的方法
-
多态:一个类实例的相同方法在不同情形有不同的表现形式
7.简述MVC的优缺点
-
优点:视图控制模型分离,提升代码重用性;提升开发效率、便于维护,方便多开发人员的分工
-
缺点:小项目下降开发效率;运行效率相对较低;视图和控制器太过紧密连接
8.如何理解单一入口文件?
-
ThinkPhp采用单入口进行项目部署和访问,所以项目都是从入口文件开始
9. 简述中间件的优缺点
-
优点: 减少开发风险、提高可维护性、具有良好的可靠性和可用性,还有良好的可扩展性
-
缺点:系统可用性降低、复杂度提高、一致性的问题
10. 简述restful api接口规范
10.1 restful 接口规范
-
URL只指定资源,以HTTP方法动词进行不同的操作
-
好处是:Url具有很强的可读性、规范化请求过程和返回结果、提供无状态的服务接口,降低复杂度,可提高应用的水平扩展性
11.简述容器、依赖注入的原理
11.1 容器的原理
-
任何的url访问,最终都是定位到控制器,由控制器某个具体的方法执行;一个控制器对应一个类,如果这些类需要统一管理,就需要容器,容器对类进行管理,还可以将类的实例对象作为参数,传递给类方法,触发依赖注入
11.2 依赖注入
-
将对象类型的数据以参数的方式传到方法的参数列表中
12. PHP中语句include和require的区别是什么?
12.1 报错不同
-
include引入文件时候,碰到错误,会给出提示,并且执行下面代码
-
require引入文件时候,碰到错误,会给出提示,并且停止运行下面代码
12.2 引入文件不同
-
include,在执行文件时每次都要进行读取和评估;
-
require文件只处理一次,如果有执行多次的代码,使用require效率比较高;
-
如果每次代码读取的是不同的文件,使用include语句