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.

CL2: Google Calendar

První informace o mnou nejočekávanější službě jsou tu. Na světlo světa se dostaly první screenshoty zatím neveřejné verze připravovaného kalendáře od Googlu.

Kalendář by měl být integrován do GMailu. Slibované screenshoty najdete v článku Google Calendar – screenshoty (Krutá realita).

jEdit

jEdit logoPro čtenáře, kteří o tomto programu nikdy neslyšeli uvedu pár základních dat. jEdit je OpenSource programátorský editor postavený na java enginu – je nezávislý na operačním systému, můžete s ním tedy pracovat třeba i na linuxu.
Již v základu tento editor nabízí plno užitečných funkcí – zvýraznění syntaxe více než 130 programovacích jazyků, jako jeden z mála editorů opravdu plně podporuje utf-8 (+ plno dalších kódování; s kódováními navíc pracuje velice rychle), makra, funkce pro nastavení,… (viz. další funkce)
Nejdůležitější jsou ale pluginy. Nejenže jich je požehnaně, navíc se instalují naprosto snadno přes speciální Plugin Manager (vyberete si pluginy, stáhnete a oni se automaticky nainstalují). Díky nim si můžete jEdit naprosto přizpůsobit. Přehled pluginů najdete zde.

Já za ty roky vyzkoušel nepřeberné množství editorů. Bohužel u většiny jsem měl problémy právě s kódováním utf-8. A jelikož je kódování utf-8 pro mě naprosto nezbytné a zatím nezastupitelné, nemohl jsem tyto editory používat. Pohořel u mě i všemi vychvalovaný PSPad – pan Jan Fiala třeba odvedl s PSPadem dobrou práci, ale já ji neocením. Ale třeba se od té doby PSPad změnil a já ho zase někdy zkusím – člověk nikdy neví.

jEdit je špička mezi programátorskými editory – ať už pracujete s čímkoliv.

Na závěr screenshot účelného zobrazení jEditu:

jEdit