所以我目前对课程的理解是: Singleton是一个只会被实例化一次的类。 对于未实例化但仅存在的类的静态。 定期?对于可以反复实例化的类。
所以我正在做一个小型的开源项目,至于与用户打交道,我想到了如何处理它,例如: 创建用户 - 我可以实例化用户对象,然后在其上调用方法create。或者我可以有一个单例,因此用户对象始终存在并在其上调用create?
我认为为每个用户相关的操作创建一个对象似乎有点草率,比如更新用户凭据,我想实例化另一个用户对象,然后调用方法更新吗?
对于如何实际应用OOP以及最佳方法感到困惑。
感谢您提供的任何/所有帮助。
答案 0 :(得分:2)
即使这是一个小项目,我也建议您查看可用的PHP框架。 CodeIgniter占用的空间很小,并且支持快速部署。
对于这种情况,如果我们忽略了框架的可能用法,我会使用类似下面的User类:
class User{
private $user = array();
public function __construct($user_id = 0){
if($user_id !== 0){
$this->user = $this->get($user_id);
}
}
public function get($user_id){
// .. code
}
public function update($data, $user_id = 0){
if($user_id == 0){
$user_id = $this->user['user_id'];
}
// .. code
}
public function create($data){
// .. code
}
public function delete($user_id){
// .. code
}
}