| Codeigniter klicanje funkcije | ||
|---|---|---|
| halo28. dec 2011 13:02:27Pridružen od: 16. maj 2010 75 objav +14-30 | #1Začel sem uporabljati Codeigniter sistem in mi je zelo všeč. Imam pa eno vprašanje. Ali je mogoče klicati funkcijo iz enega controllerja v drugega tako kot jo lahko znotraj enega npr: $this->show(); všeč(0)ni všeč(0)spam(0) | |
| SlimDeluxe28. dec 2011 13:06:34Pridružen od: 29. apr 2010 630 objav +489-772 | #2S tem rušiš design pattern, ki pravi da na 1 request odgovarja le 1 controller. Če imaš potrebo po takih funkcijah, premisli o smotrnosti izdelave librarya, kjer boš imel te funkcije, ali, morda boljše, extendaš CI_Controller v nek MY_Controller, kjer bodo vse tvoje funckije, ki so skupne dvem ali več kontrolerjem. (osebno uporabljam ta drugo varianto). Če je funkcija preprosta pa jo lahko daš tudi v helper. všeč(0)ni všeč(0)spam(0) | |
| halo28. dec 2011 14:32:08Pridružen od: 16. maj 2010 75 objav +14-30 | #3hmmm.. ni mi čisto jasno kdaj se posluževati library, helper, driver ali predlagani MY_Controller. v svojem sistemu imam controller ki ureja komentarje celotne strani. te funkcije bi potem rad uporabit pri prikazu slike, ki bi jo rad komentiral všeč(0)ni všeč(0)spam(0) | |
| php.programer28. dec 2011 15:11:53Pridružen od: 20. sep 2011 53 objav +11-50 | #4jaz sem prebral celotno dokumentacijo + vse primere na net.tuts.com in lahko rečem, da je to pravilna pot, ker vmes še pridobiš veliko drugih odgovorov, ki ti mogoče v "tem trenutku" niso uporabni ;) s tem si boš odgovoril, kdaj uporabljat library, helper, driver, controller,... in kdaj so potrebne spremembe po system folderju! LP všeč(0)ni všeč(0)spam(0) | |
| SlimDeluxe28. dec 2011 15:21:43Pridružen od: 29. apr 2010 630 objav +489-772 | #5halo, večji del procedure, ki se ukvarja s podatki lahko daš v "model", nekaj ti še ostane v kontrolerju in za to ni problema, če maš skopirano. Saj večina kontrolerjevih metod je od 10-20 vrstic max, razen pri večjih formih. všeč(0)ni všeč(0)spam(0) | |
| Ledi28. dec 2011 15:26:21Pridružen od: 14. avg 2008 458 objav +146-11910 | #6v cakephp jaz ponavadi splosno funkcijo dam kar v app_controller ki je dostopen vsem controllerjem. Ce mas pa kas specificnega se pa naredi library všeč(+1)ni všeč(0)spam(0) | |
| halo28. dec 2011 17:16:57Pridružen od: 16. maj 2010 75 objav +14-30 | #7net.tuts mi deluje zelo koristen. opažam da sem se prehitro pognal v programiranje in ne razumem celotnega koncepta. edina stvar po parih tutorialih, ki mi ni povsem jasna je, zakaj se recimo podatki ne obdelajo v controllerju in pošleju v view, kjer bi se samo izpisali. npr: izpis komentarjev, se v controllerju sestavi v <div> itd, nato se ves ta delni html pošlje v view in samo izpiše. s tem lahko en view uporabiš na vseh straneh, ker ne vsebuje php-ja ampak samo izpis. je tako narobe? všeč(0)ni všeč(0)spam(0) | |
| SlimDeluxe28. dec 2011 17:47:10Pridružen od: 29. apr 2010 630 objav +489-772 | #8To si še enkrat preberi: http://codeigniter.com/user_guide/general/views.html V praksi so zelo uporabni t.i. view partials, torej $string = $this->load->view('myfile', '', true); potem v tem $string imaš sparsan view in ga v kakšnem drugem lahko uporabiš // Spravi box kategorije v spremenljivkovšeč(+1)ni všeč(0)spam(0) | |
| halo28. dec 2011 18:46:51Pridružen od: 16. maj 2010 75 objav +14-30 | #9če prav razumem.... v določenem manjšem view-ju obdelaš prikaz, ga shraniš v $data ter posreduješ glavnemu prikazu? všeč(0)ni všeč(0)spam(0) | |
| SlimDeluxe28. dec 2011 19:36:19Pridružen od: 29. apr 2010 630 objav +489-772 | #10Jp, v določenem manjšem viewu obdelaš samo neko smiselno celoto, kot v zgornjem primeru npr. okvirček s seznamom kategorij. Potem ta "manjši view" preprosto echo-jaš v nekem glavnem viewu, kjer želiš da se ta element pojavi. všeč(+1)ni všeč(0)spam(0) | |