CodeIgniter - pozivanje metode controllera iz command prompta
Zdravo svima,
potrebno mi je da u CodeIgniter-u pozovem metodu controllera ali iz command linije. Na netu sam nalazio neke odgovore ali ni jedan od njih ne uspevam da mi proradi. Da li je neko ovo vec probao i ako je moguce da podeli svoja iskustva sa nama. Hvala. |
Za pocetak zavisi da li je rec o CI 1.7.x ili o CI 2.x, sa obzirom da je nova tema pretpostavka je da koristis CI 2.x i uz njega dolazi CLI.
E sad u zavisnosti od toga da li zelis da koristis CodeIgniter uvek kao CLI ili zelis da rade i web i cli. Ukoliko zelis iskljucivo CLI da koristis (ne treba ti web) dovoljno je da setujes uri_protocol na CLI Kôd:
$config['uri_protocol'] = 'CLI'; Kôd:
$config['uri_protocol'] = isset($_SERVER['REQUEST_URI']) ? 'REQUEST_URI' : 'CLI'; Kôd:
$config['uri_protocol'] = isset($_SERVER['REQUEST_URI']) ? 'PATH_INFO' : 'CLI'; Kôd:
/putanja/do/php -q /putanja/do/index.php imeKontrolera imeFunkcije argument1 argument2 ... argumentN |
Hvala na odgovoru,
verzija je 1.7.2, ta se koristi u firmi za sad. Sinisa, ako mi je controller u folderu /controllers/admin/[naziv_controlera].php kako tada prilagoditi poziv ovome sto si napisao? |
Posto CI 1.7.2 ne dolazi sa CLI-jem najlakse ti je da poskidas MY_URI.php i CLI.php i radice sve na nacin na koji sam objasnio za CI 2.x
http://codeigniter.com/wiki/CI_on_the_command_line/ Poziv ce ti izgledati Kôd:
/put/do/php -q /put/do/index.php admin/[naziv_kontrolera] imeFunkcije argument1 argument2 ... argumentN |
Posto se ovaj controller nalazi u admin delu za koji je potrebno da korisnik bude logovan, da li je uopste moguce proslediti username i password kako bi metoda mogla da bude izvrsena?
|
Ako pricas o korisniku logovanom na web-u onda u startu razmisljas pogresno... komandna linija nije svakom dostupna tako da u skladu sa tim napravis odredjena pravila ukoliko se poziva iz komandne linije da ne trazi username i password mada generalno licno volim da razdvojim ono sto se poziva iz web-a od onoga sto se poziva iz konzole u odvojene funkcije ili odvojene kontrolere kad je to moguce
|
Da Sinisa, slazem se sa tobom u potpunosti.
Ali, i sam znas da praksa nije isto sto i teorija. Ovde imam klasican slucaj da gazde hoce sve i odmah tako da neke funkcionalnosti koje je moguce da admin poziva iz admin dela sada zele da automatizuju i pozivaju iz cron-a a da kao backup ostane mogucnost da admin nekad pozove fju klikom na button u admin delu. A glupo je praviti duple controllere koji rade isti posao :) |
Pa u tom kontroleru pravi proveru da li je request_uri CLI ili ne.
U jednom slucaju trazis da se korsnik loguje a u drugom ne. |
Da bOkIcA, tako sam i uradio.
if (isset($_SERVER['REQUEST_URI'])) onda ide logovanje a ako ne onda samo odradi. |
Citat:
PHP kôd:
|
Vreme je GMT +2. Trenutno vreme je 22:05. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.