Code Igniter – nejjednodušší php framework

Pokud 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“.

Code Igniter logoNechci 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 (odkaz odstraněn) – 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.

Reklamy

9 thoughts on “Code Igniter – nejjednodušší php framework

  1. abysser: Tak moc bych si já nevěřil ;-) Tohle má hlavně výhodu, že se to vyvíjí samo – bez mé pomoci se vytváří nové funkce a třídy, které potom mohu používat ;-)

  2. Před nějakým časem jsem se rozhodl podívat se po nějakým tom frameworku. Vše mi přislo zbytečně šložité, pak jsem narazil na Nette a zajasal jsem. Smula je ze to jeste chvili potrva, nez ho budu moct pouzit a pritom bych to chtěl použít už teď.

    Proto dík za zajímavý projekt.

    1. som na tom podobne – kedysi davno som zistil, ze existuje Nette a potom som bohuzial dosiel k zaveru, ze ma pred sebou este celkom dlhu cestu… a potom dosiel CodeIgniter a dnes som zasa vesely :-D

  3. goophy: Já jsem Nette ještě nějaka moc nezkoumal (ty články na La Trine jsem jen zběžně prolétl), ale vypadá to velice dobře – na mě až moc :-) Proto používám Code Igniter…

  4. Další super framework pro PHP je CakePHP. Mohu jen doporučit, ale Code Igniter se mi také celkem líbí, nedávno jsem na něj narazil a říkal si co mám spíš používat jestli CI nebo CP.

  5. Petr Vytlačil: U cakePHP se mi nelíbilo, že jsou dvě simultanní a dost odlišné verze, což se ani po půl roce nezměnilo. Nakonec jsem se rozhodl při vývoji pro CI, protože má slušnou třídu pro správu uživatelů a dobrou škálovatelnost. Když třeba potřebuji jednoduché dotazy na DB, tak nemusím nutně vytvářet Model, ale stačí vše zahrnout do Controllelu. Takže je to spíš CV než MCV :-)

  6. len na doplnenie – CodeIgniter 2.0 uz nefunguje pod PHP 4, aj ked by stale mal ist na vacsine dnesnych serveroch, pretoze PHP 4 ich uz zasa tak vela nepouziva (pripadne davaju na vyber) ;-)

Zanechat Odpověď

Vyplňte detaily níže nebo klikněte na ikonu pro přihlášení:

WordPress.com Logo

Komentujete pomocí vašeho WordPress.com účtu. Odhlásit / Změnit )

Twitter picture

Komentujete pomocí vašeho Twitter účtu. Odhlásit / Změnit )

Facebook photo

Komentujete pomocí vašeho Facebook účtu. Odhlásit / Změnit )

Google+ photo

Komentujete pomocí vašeho Google+ účtu. Odhlásit / Změnit )

Připojování k %s