预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

XX年最新PHP工程面试题工程师是一个很吃香的职业,是很多人想要从事的职业,以下是精心为大家的PHP面试题,希望对大家有所帮助!更多内容请关注!1.简单实现一个单例+工厂的设计模式abstractclassExample{//Theparameterizedfactorymethodpublicstaticfunctionfactory($type){if(includeonce'Drivers/'.$type.'.php'){$classname='Driver'.$type;returnnew$classname;}else{thrownewException('Drivernotfound');}}}//LoadaMySQLDriver$mysql=Example::factory('MySQL');//LoadaSQLiteDriver$sqlite=Example::factory('SQLite');definded('DRIVER','/data/root/.want./core/driver/');abstractclassExample(){privatefunctionconstruct(){}publicstaticfunctionfactory($type){if(includeonce(DRIVER.$type.'.php')){returnExampleSon::singleton($type);}else{thrownewException("Driverisnotfound!");}}}classExampleSonimplementsExample{//Holdaninstanceoftheclassprivatestatic$instance;//静态私有的类实例//Aprivateconstructor;preventsdirectcreationofobjectprivatefunctionconstruct(){echo'Iamconstructed';}//Thesingletonmethodpublicstaticfunctionsingleton(){if(!isset(self::$instance)){//如果没有设置静态私有类实例,创立之$c=CLASS;//获得类名称self::$instance=new$c}returnself::$instance;}//Examplemethodpublicfunctionbark(){echo'Woof!';}//Preventuserstoclonetheinstancepublicfunctionclone()//不允许被克隆{triggererror('Cloneisnotallowed.',EUSERERROR);}}关键词:1私有静态成员变量2CLASS获取当前类名3公共静态方法获取单例4覆盖clone()方法----十个字:私有静态量,公共静态法--------2.例举几个常用的魔术方法,并说明作用?如何在打印一个对象的时候展示我们自定义的内容?魔术函数1。construct()实例化对象时被调用,当construct和以类名为函数名的函数同时存在时,construct将被调用,另一个不被调用。2。destruct()当删除一个对象或对象操作终止时被调用。3。call()对象调用某个方法,假设方法存在,那么直接调用;假设不存在,那么会去调用call函数。4。get()读取一个对象的属性时,假设属性存在,那么直接返回属性值;假设不存在,那么会调用get函数。5。set()设置一个对象的属性时,假设属性存在,那么直接赋值;假设不存在,那么会调用set函数。6。toString()打印一个对象的时被调用。如echo$obj;或print$obj;7。clone()克隆对象时被调用。如:$t=newTest();$t1=clone$t;8。sleep()serialize之前被调用。假设对象比拟大,想删减一点东东再序列化,可考虑一下此函数。9。wakeup()unserialize时被调用,做些对象的初始化工作。10。isset()检测一个对象的属性是否存在时被调用。如:isset($c->name)。11。unset()unset一个对象的属性时被调用。如:unset($c->name)。12。setstate()调用varexport时,被调用。用setstate的返回值做为varexport的返回值。13。autoload()实例化一个对象时,如果对应的类不存在,那么该方法被调用。魔术常量1。LINE返回文件中的当前行号。2。FILE返回文件的完整路径和文件名。如果用在包含文件中,那么返回包含文件名。自PHP4.0.2起