Witam
Kożystam z Code Igniter wraz XAJAX.

Mam napisany skrypt w taki sposób aby w zależności co zostanie wybrana (meotda) żeby załadowana biblioteka które róznie sie nazwyają umieszczała obiekt tej biblioteki w zmienej np $objX

CI robi jedynie przy ładowaniu $this->model('nazwabiblioteki','objX');
puzniej jak chcemy wyołać to uzywamy
$this->objX->metoda();
ale nie $this->library('nazwa biblioteki')
tu zawsze trzeba wpisac $this->nazwa biblioteki a chciał bym żeby gdy wywołam rużne bilioteki zawsze można było odwołać sie poprzez $this->objX. Bo każda ma biblioteka ma te same metody tylko inne działanie a kod stał by sie ładniejszy.

  1. <?php
  2. $this->obj->load->library($nazwaBiblioteki);
  3. //zostalo do ustrojstwo dodane poniewaz ladowanie libraries nie pozwala zaladowac 
    biblioteki do wybranej nazwy tak jak models
  4. switch (strtolower($nazwaBiblioteki)) {
  5. case 'walidacjagatunki':
  6. {
  7. $objWalidacja = $this->obj->walidacjagatunki;
  8. break;
  9. }
  10. case 'walidacjaelementow':
  11. {
  12. $objWalidacja = $this->obj->walidacjaelementow;
  13. break;
  14. }
  15. case 'walidacjafirma':
  16. {
  17. $objWalidacja = $this->obj->walidacjafirma;
  18. break;
  19. }
  20.  }
  21. ?>

idze zrobic jakos zeby kod wygladal mniej wiecej tak (kod ponizej nie dziala)

  1. <?php
  2. $this->obj->load->library($nazwaBiblioteki);
  3.  $objWalidacja = $this->obj->nazwaBiblioteki;
  4. ?>





kurna zmarnowalem czas a nie wiem dlaczego na poczatku mi nie działało jak prubowałem!

aby dynamicznie przepisać referencje danego obiektu która nazwa obiektu znajduje sie zmienej nalezy napisac

  1. <?php
  2. $nazwaObiektu = 'klient';
  3. $this->load->library('klient');
  4. // w tym momencie aby odwolac sie do biblioteki klienta nalezy pisac
  5. $this->klient->metoda();
  6.  
  7. //ale gdy chcemy zeby zawsze bylo pod ta sama zmiena
  8. $objX = $this->$nazwaObiektu;
  9. ?>