PHP面试常见题型问答
PHP而试常见题型问答
php中传值与传引用的区别?什么时候传值什么时候传引用?
按值传递:函数内对值的任何改变在函数外部都会被忽略
引用传递:函数内对值的任何改变在函数外部也能反映出这些修 改
应用场景:按值传递时,php必须复制值,而按引用传递则不需 要复制值,故引用传递一般用于大字符串或对象。
说几个你知道的设计模式?
单例模式:保证一个类仅有一个实例,并提供一个访问他的全局 访问点例如框架中的数据库连接
简单工厂模式:它具有创建对象的某些方法,可以使用工厂类创 建对象,而不直接使用new。例如初始化数据库的时候会用到,比 如 MySQL, MSSQL
策略模式:针对一组算法,将每一个算法封装到具有共同接口的 独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同 的显示与操作
注册模式:提供了在程序中有条理的存放并管理一组全局对象 (object),例如 ZF 框架中的'Zend_Registry: : set
适配器模式:将不同接口适配成统一的API接口,例如数据操作 有mysql、mysqli> pdo等,可利用适配器模式统一接口
观察者模式:一个对象通过添加一个方法使本身变得可观察。当 可观察的对象更改时,它会将消息发送到已注册的观察者。例如实 现实现消息推送
装饰器模式:不修改原类代码和继承的情况下动态扩展类的功能, 例如框架的每个Controller文件会提供before和after方法
迭代器模式:提供一个方法顺序访问一个聚合对象中各个元素, 在PHP中将继承Iterator类
原型模式:实现了一个原型接口,该接口用于创建当前对象的克 隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一 个对象需要在一个高代价的数据库操作之后被创建。
echo, print (), printer (), printf (), sprintf (), var_dump ()有什么区别?
echo:是语句不是函数,没有返回值,可输出多个变量值,不需 要圆括号。不能输出数组和对象,只能打印简单类型(如
int, string)
print:是语句不是函数,有返回值1,只能输出一个变量,不 需要圆括号。不能输出数组和对象,只能打印简单类型(如 int,string)。
print_r:是函数,可以打印复合类型,例如:stirng、int、 floats array> object等,输出array时会用结构表
PHP面试常见题型问答 来自淘豆网www.taodocs.com转载请标明出处.