여기에 스팸 또는 광고를하지 않으려 고합니다. 나는이 공동체와 기꺼이 자신의 시간과 같은 질문에 대답 할 시간을 포기한 사람들을 소중히 생각합니다. WolfAuth라는 Codeigniter에 대한 인증 라이브러리를 구축했습니다. 추후 공지가있을 때까지는 현재 모든 데이터베이스 상호 작용을 위해 DataMapper를 사용합니다.CodeMiter 용 DataMapper : 모델 객체를 한 번만 인스턴스화하고 재사용 할 수 있습니까?
각 함수는 현재 다음 행의 코드를 사용합니다.
$u = new User;
$u->get_by_id($user_id);
if ($u->exists())
{
// Do user stuff here
}
나는 PHP는 객체 인스턴스화를 처리하는 방법을 완전히하십시오, 그러나 확실하게 50 개 기능에이 일을하지 않아요 플러스 성능에 좋지 않을 수 있고,하지 않을 경우, 불필요한 객체의 인스턴스를 추가합니다. 각 함수에서 사용하고 다시 사용하는 각 DataMapper 모델 객체의 전역 인스턴스화가 가능합니까?
그래서 다음과 같습니다.
class Someclass {
protected $user;
protected $group;
protected $roles;
public function __construct()
{
$this->user = new User;
$this->group = new Group;
}
public function the_user($user_id)
{
$user = $this->user->get_by_id($user_id);
if ($user->exists())
{
echo "The user exists!";
}
}
}
오전 난 그냥 여기 매우 까다 롭고있는, 또는 내가 수와 내가 만든 것 같은 그런 큰 라이브러리에 대한 일을하는 아마도 더 좋은 방법이 무엇을 요구하고 있는가?