[置顶] PHP单例模式面试注意事项
来源:互联网 发布:淘宝网家用拖鞋 编辑:程序博客网 时间:2024/06/06 13:12
最近面了不少PHP从业者,有实习生也有5/6年以上的开发者,对于1年以上的从业者我都要求他们来实现一个单例类,通过这个问题评测了不少从业者水平
一般都要求写一个单例模式的类实现,此处有几处考察的点:
- 单例的基本构建代码
- __clone 如何规避克隆问题
- 深浅复制的问题
- 代码规范问题
// php的__clone()方法对一个对象实例进行的浅复制,对象内的基本数值类型进行的是传值复制,而对象内的对象型成员变量,如果不重写__clone方法,显式的clone这个对象成员变量的话,这个成员变量就是传引用复制,而不是生成一个新的对象. class Account { public $balance; public function __construct($balance) { $this->balance = $balance; } } class Person { private $id; private $name; private $age; public $account; public function __construct($name, $age, Account $account) { $this->name = $name; $this->age = $age; $this->account = $account; } public function setId($id) { $this->id = $id; } public function __clone() { #复制方法,可在里面定义再clone是进行的操作 $this->id = 0; $this->account = clone $this->account; #不加这一句,account在clone是会只被复制引用,其中一个account的balance被修改另一个也同样会被修改 } } $person = new Person("peter", 15, new Account(1000)); $person->setId(1); $person2 = clone $person; $person2->account->balance = 250; var_dump($person, $person2);
0 0
- [置顶] PHP单例模式面试注意事项
- 面试-单例模式
- php单例模式
- php单例模式
- PHP单例模式
- PHP单例模式
- PHP单例模式
- php 单例模式
- php单例模式
- PHP 单例模式
- PHP 单例模式
- php 单例模式
- php单例模式
- PHP单例模式
- php单例模式
- php单例模式
- PHP单例模式
- php单例模式
- <hadoop学习历程>--笔记心得7-环境准备
- [置顶] fineuploader 跨子域上传文件 cookie丢失问题的解决
- [置顶] 关于php cron任务管理的实现假想
- [置顶] NGINX 配置 SSL 证书 搭建 HTTPS 网站
- 关于 ListView 的一件小事儿
- [置顶] PHP单例模式面试注意事项
- ajax的封装
- linux
- [置顶] YII2 模块内自定义错误页
- Oracle绑定变量带in参数的写法
- php之xampp里mysql,与php读取数据库异常处理机制
- [置顶] 搞一个简单的数据打印工具AsDebug の Laravel
- [置顶] Facade 包装类 -- 解决视图里面长长的命名空间调用问题
- [置顶] laravel 框架session id解密算法