收藏 分销(赏)

PHP工程面试题.doc

上传人:二*** 文档编号:4519816 上传时间:2024-09-26 格式:DOC 页数:5 大小:17.54KB
下载 相关 举报
PHP工程面试题.doc_第1页
第1页 / 共5页
本文档共5页,全文阅读请下载到手机保存,查看更方便
资源描述
XX年最新PHP工程面试题   工程师是一个很吃香的职业,是很多人想要从事的职业,以下是精心为大家的PHP面试题,希望对大家有所帮助!更多内容请关注!   1. 简单实现一个单例+工厂的设计模式abstract class Example{ // The parameterized factory method public static function factory($type) { if (includeonce 'Drivers/' . $type . '.php') {   $classname = 'Driver' . $type;   return new $classname;   } else {   throw new Exception ('Driver not found');   }   }}// Load a MySQL Driver$mysql = Example::factory('MySQL');   // Load a SQLite Driver   $sqlite = Example::factory('SQLite');   definded('DRIVER','/data/root/.want./core/driver/');abstract class Example(){ private function construct() { } public static function factory($type) { if(includeonce(DRIVER.$type.'.php')) { return ExampleSon::singleton($type); } else { throw new Exception("Driver is not found!"); } } }class ExampleSon implements Example{ // Hold an instance of the class private static $instance; //静态私有的类实例 // A private constructor; prevents direct creation of object private function construct() { echo 'I am constructed'; } // The singleton method public static function singleton() { if (!isset(self::$instance)) { //如果没有设置静态私有类实例,创立之 $c = CLASS; //获得类名称 self::$instance = new $c } return self::$instance; } // Example method public function bark() { echo 'Woof!'; } // Prevent users to clone the instance public function clone() //不允许被克隆 { triggererror('Clone is not allowed.', EUSERERROR);   }}关键词:   1 私有静态成员变量   2 CLASS获取当前类名   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=new Test();$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   返回文件的完整路径和文件名。如果用在包含文件中,那么返回包含文件名。自 PHP 4.0.2 起,FILE 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。   3。FUNCTION   返回函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。   4。CLASS   返回类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。   5。METHOD   返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。   3. 类静态方法和实例化类方法比拟及优缺点   4. 有一个论坛   threads表记录主题以及标题等信息   posts表记录主题内容以及回复内容等信息   threads 表主键为 tid   posts 表主键为 pid, 所属主题标记为tid   通过tid将threads和posts 一对多关联起来   现在数据量posts表到达了1亿, threads表2000万, 大约一个主题有5篇回复   请你设计一下分表, 将posts表和threads表进行mysql分表
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服