KOHANA mě stále překvapuje!

Poslední dobou mě KOHANA framework překvapuje a udivuje čím dál víc. Samozřejmě v tom správném a dobrém slova smyslu. Musím zmínit hned dvě maličkosti, které jsou pro mě ale dost zásadní. Dlužno dodat, že taková milá překvapení samozřejmě plynou z nedostatečného čtení dokumentace.

Překvapení první – kontrola ajax requestu
V první trojkové verzi narozdíl od 2.3 verze chyběla metoda kontroly, zda je dotaz ajaxového původu nebo není. Oželel jsem ji a navykl si používat vlastní. Pak mě to ale dost přestalo bavit, když jsem zjistil, kolik takových věcí jsem si nad vlastní KOHANou ještě musel dopsat a začal studovat dokumentaci. A ejhle, KOHANA poskočila o dvě verze a já teprve teď metodu $request->is_ajax() opět objevil.

Překvapení druhé – Validační a Upload třída
O co větší byla moje radost, když jsem objevil krásu vestavěného nahrávání a validace souborů! Po kratším studiu dokumentace jsem přišel na to, že tyto třídy jsou v KOHANA od začátku a napříč verzemi se v zásadě nezměnily. Tedy opět jen moje lenost studia dokumentace. Přikládám alespoň kousek kódu jak validovat a následně zpracovat nahrávané soubory.
Formulář:

Metoda, která zpracovává nahrávaný soubor pak funguje takto:

$array = Validation::factory($_FILES);
$array->rule('foto', 'Upload::not_empty');
$array->rule('foto', 'Upload::type', array(':value', array('jpg', 'png', 'gif')));

if ($array->check())
{
	// Prošli jsme validací, ukládáme fotku
	$file = Upload::save($array['foto'],NULL,APPPATH."/upload");

	//manipulace se souborem - tady nahravany obrazek zmenšuji na 100px
	$image = Image::factory($file);
	$image->resize(100, NULL);
	$image->save();
}

Překvapení třetí – dokumentace
To co mě překvapilo nejvíc, je dokumentace. Není sice bůhví jak obsáhlá, je dost strohá na příklady, nicméně je součástí distribuce a k jejímu rozfungování stačí odkomentovat příslušný modul v souboru bootstrap.php:

'userguide'  => MODPATH.'userguide',  // User guide and API documentation

Celou si ji pak můžete projít pod url /guide. Vzhledem k tomu, že používám lokální vývojové prostředí, nepotřebuji nutně on-line připojení k internetu, celou dokumentaci si mohu libovolně studovat a procházet. Výborná záležitost!

No Comments

Leave a Reply

Your email is never shared.Required fields are marked *