2012-09-17 17 views
5

CodeIgniter'de 'Sonuç nesnesi sınıfları' düzenlemenin doğru bir yolunu arıyorum.Codeigniter'da sonuç nesnesinin nereye yerleştirileceği ve yükleneceği yer?

:

Ayrıca, her bir sonuç, bir nesne (bu sınıf yüklenmelidir not) için örneğini bir sınıfını temsil olan) (sonuçlanması bir dizi geçebilir: documentation tarif edildiği gibi bu sınıflar hangi genellikle modellerde kullanılan

$query = $this->db->query("SELECT * FROM users;"); 

foreach ($query->result('User') as $row) 
{ 
    echo $row->name; // call attributes 
    echo $row->reverse_name(); // or methods defined on the 'User' class 
} 

Peki, 'Kullanıcı' sınıfını nereye koyacağınız ve nasıl yükleneceği 'resmi' bir yol var mı?

cevap

2

Kitaplığı kullanmayı deneyin. Eğer için soruyorsunuz değil tam olarak ne

$this->load->library('user'); 
+0

Bu, yeni bir kullanıcı sınıfı örneği oluşturacağından ve bu boş nesneyi belleğe almak istemediğim için kesinlikle değil. Ve elbette, sonuç nesne sınıfları hiç kütüphane değildir. – sasa

+0

Sınıflarınızı içeren bir php dosyasını yüklemek için $ this-> load file() öğesini kullanın –

0

, ama sık sık bir MY_Model kullanın:: application/kütüphaneler klasöründe sınıf, ardından yükleyici kullanmak

Yeri yüklemek için

public function merge_object(&$object, $data){ 

    if (is_object($data)) { 
     $data = get_object_vars($data); 
    } 
    if (!empty($data)) { 
     foreach ($data as $property => $value) { 
      if (!property_exists($object, $property)) { 
       $object->$property = $value; 
      } 
     } 
    } 
    return $object; 
} 

ve daha sonra $ this-> merge_object ($ this, $ data); __construct ($ data = dizi())

Şimdi bir model işlevini çağırdığınızda, model sınıfının bir örneğini de döndürür ve böylece yöntemlerinden herhangi birine erişebilirsiniz. Esasen yapmaya çalıştığınız şeyi yapıyor.

İlgili konular