Code Igniter - nejjednodušší php framework
26.03.06Pokud už nějakou dobu vyvíjíte php aplikace, tak jste si již jistě někdy řekli, že by to šlo určitě nějak zjednodušit. Akce které musíte ošetrovat pořád dokola by šly zjednodušit a zpřehlednit - což by vám dalo více možností věnovat se samotnému vývoji.
A od toho tu jsou tzv. frameworky. Poté, co David Grudl začal publikovat konkrétnější informace o svém připravovaném Nette, se s tímto slovem na Internetu jakoby “roztrhl pytel”.
Nechci tu teď ale mluvit o Nette - chci mluvit o php frameworku, který používám v současnosti já. Jedná se o velice čerstvý projekt s rozrůstající se komunitou - Code Igniter. Tento framework se nechce stát žádným komplexním php 5 řešením pro extrémně velké projekty. Ne. Jedná se “jen” o několik knihoven funkcí a obsluhu požadavků. Díky tomu nepotřebuje Code Igniter téměř žádné nastavování při instalaci, funguje na každém webhostingu s php 4 a co je hlavní - je snadno rozšiřitelný.
Plno nekomerčních řešení má tu krutou nevýhodu v tom, že chybí dokumentace. Vy pak musíte pátrat, jak která funkce funguje a co vůbec dělá. To není případ Code Igniteru - zde je kód transparentní, dobře okomentovaný a dokumentace je naprosto brilantní.
Jak začít s Code Igniterem?
I když jste nikdy žádný framework nezkoušeli, tak se Code Igniteru nemusíte bát. Já dokonce znám případy, kdy se lidé učí php tak, že rovnou začnou s Code Igniterem.
Nejlépe asi uděláte, když se kouknete na dvě ukázková videa - ta vám ukáží, jak se v praxi Code Igniter používá. Pak si jen stačí prohlédnout obsáhlou dokumentaci a začít zkoušet… A pokud by nastal problém? K dispozici je fórum do kterého příspívá nejen autor projektu (Rick Ellis) a stále se rozrůstající komunita, ale i já sám.
Lákadlo aneb troška praxe s Code Igniterem…
Chcete uživateli umožnit nahrát obrázek na server (pomocí formuláře)?
$config['upload_path'] = ‘./uploads/’;
$config['allowed_types'] = ‘gif|jpg|png’;
$config['max_size'] = ‘100′;
$config['max_width'] = ‘1024′;
$config['max_height'] = ‘768′;
$this->upload->initialize($config);
Komentář myslím není potřeba…
A co dál s nahraným obrázkem? Co takhle vytvořit jeho náhled pomocí GD…?
$config['image_library'] = ‘GD2′;
$config['source_image'] = ‘/path/to/image/mypic.jpg’;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 75;
$config['height'] = 50;
$this->image_lib->initialize($config);
$this->image_lib->resize();
Jak Code Igniter obsluhuje pořadavky?
Při tvorbě aplikace nad Code Igniterem budete pracovat hlavně s obsahem dvou složek - Controllers a Views. Složka Controllers obsahuje php soubory, které generují stránky - dotazy pro databázi, volání funkcí a tříd. Složka Views obsahuje šablony (jako šablonovací jazyk je použito PHP).
V základním nastavení se aplikace chová takto: návštěvník zadá do adresního řádku třeba example.com/produkty/show/35 –> tím se zavolá funkce show, která je ve třídě Produkty (která je definovaná v Controlleru produkty.php). Aplikaci je samozřejmě předáno i ono číslo, které můžeme dále používat třeba v dotazu na databázi.
Je to naprosto pochopitelné a snadné.
Toho slova “show” se v nastavení můžete snadno zbavit - adresy jdou v konfiguraci “přeroutovat”.
Závěr
Nechci vyvolávat žádné diskuse o tom, jestli je lepší ten nebo ten framework, nebo jestli je vůbec dobré nějaký framework používat. Pouze bych vám chtěl představit tento nový framework, který já sám úspěšně používám.
Zasláno Jan Onesork