Z tradycyjnym OOP, chciałbym (lub może raczej) stworzenie modelu/obiektu, który reprezentuje User
o właściwościach, które odzwierciedlać że, tj name
, id
, job title
itpJak utworzyć instancję wielokrotnych wystąpień tego samego obiektu w kodzie sygnatur?
mogłem następnie utworzyć nową instancję ten obiekt i przypisać go do zmiennej, a gdybym przechodził przez zbiór wyników, mógłbym utworzyć instancję dla każdego z nich. Z CodeIgniter wydaje się to niemożliwe, jak robi:
$this->load->model('User');
instancję go i umieszcza go do użytku na $this->user
.
Czy nie ma sposobu, aby używać modeli jako obiektów w bardziej tradycyjny sposób, ale bez hackowania sposobu działania CI?
Rozumiem, że można przypisać rzeczy do innej nazwy obiektu przy użyciu $this->load->model('User', 'fubar')
, ale nie jest tak dynamiczne, jak po prostu przypisanie instancji do zmiennej.
Każdy wgląd w tę sprawę jest bardzo doceniany.
EDYTOWANIE: dziękuję za odpowiedzi, myślę, że przegapiłem ważną część pracy nad "Codigniter Way", ale właśnie przeglądałem bibliotekę, w której uczestniczyłem, i praktykę korzystania z tej samej instancji (przypisane do przestrzeni nazw kodów znaków), ale czyszczenie zmiennych instancji po każdym użyciu, wydaje się być świetnym sposobem pracy, który usuwa moje rezerwacje.
Jeszcze raz - dzięki za pomoc i odpowiedzi.
Dzięki, chyba wiedziałem, że nadal mogę to zrobić, ale zastanawiałem się, czy jest coś, co mógłbym zrobić, aby uniknąć używania() i nadal używa ładowania CI. To znaczy. czy mogę zrobić: '$ this-> load-> model ('User');' następnie zabrać kopie z '$ var = new $ this-> user'? –
Lub raczej nowe instancje. –
Daniel: zobacz pierwszy artykuł w tym artykule: http://net.tutsplus.com/tutorials/php/6-codeigniter-hacks-for-the-masters/ –