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.
<?php $this->obj->load->library($nazwaBiblioteki); //zostalo do ustrojstwo dodane poniewaz ladowanie libraries nie pozwala zaladowac
biblioteki do wybranej nazwy tak jak models case 'walidacjagatunki': { $objWalidacja = $this->obj->walidacjagatunki; break; } case 'walidacjaelementow': { $objWalidacja = $this->obj->walidacjaelementow; break; } case 'walidacjafirma': { $objWalidacja = $this->obj->walidacjafirma; break; } } ?>
idze zrobic jakos zeby kod wygladal mniej wiecej tak (kod ponizej nie dziala)
<?php $this->obj->load->library($nazwaBiblioteki); $objWalidacja = $this->obj->nazwaBiblioteki; ?>
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
<?php $nazwaObiektu = 'klient'; $this->load->library('klient'); // w tym momencie aby odwolac sie do biblioteki klienta nalezy pisac $this->klient->metoda(); //ale gdy chcemy zeby zawsze bylo pod ta sama zmiena $objX = $this->$nazwaObiektu; ?>