Přeskočit na hlavní obsah

Příspěvky

Zobrazují se příspěvky z prosinec, 2006

PHP vs JSP

Vím, že po internetu existuje spoustu srovnání programovacích jazyků. Já se ani nechci tak moc pouštět do srovnání jako osvětlit některé věci, které mi lezou v poslední době dost krkem.

Zejména se jedná o lži, které hlásají pubertální mladící, kteří si přečetli jeden článek, naprogramovali 100 řádků kódu a provádějí srovnání různých řešení mezi sebou. Často házejí špínu na věci, které neznají ani koncepčně, natož z pohledu vývojáře.

Když jsem začal s programováním, začal jsem na PHP, které se mi zdálo jako nejlepší volba. PHP bylo populární, rychle se rozvíjející jazyk, perspektivní, jednoduchý a dalo se najít spoustu tutoriálů po internetu.

Na začátku jsem byl vlastnostmi tohoto jazyka naprosto uchvácen a směle jsem prohlašoval, že je to geniální dílo :)

Dnes jsem již o mnoho skeptičtější a směle prohlašuji: PHP je bordel, který jsem se raději neměl učit. Důvodů, proč si něco takového myslím je několik a já proberu jen ty nejpalčivější:

každá nová verze je často nekompatibilní se starými …

HTML Framework 3 - Textarea

Posledním formulářovým políčkem, kterým se chci zabývat je textarea.

Využití tohoto prvku je dobré při uložení delšího textového řetězce s omezenou či neomezenou délkou. Existují i tzv. textarea wysiwyg editory, což je upravená textarea pomocí javascriptu, umožňující psát HTML kód pomocí vizuálních prvků. Je to dost specifická oblast, kterou se ale zabývat nechci. Spíše mi šlo o to, vytvořit si vlastní textareu, která bude míti možnost kontrolu maximálního počtu znaků na klientovi.

Stejně jako v předchozích případech, jsem si vytvořil v adresáří /lib/HTML/Form soubor Textarea.php a soubor Textarea.js. Již podle názvu je jasné, co dané soubory budou obsahovat.

Nebudu zde uvádět ukázku třídy HTML_Form_Textarea, ale nabídnu je rovnou ke stažení:HTML_Form_Textarea (php, js)

Samotné použití je opět velice jednoduché:

$textarea = new HTML_Form_Textarea("textove_pole", $_POST["textove_pole"]);
echo $textarea->getTextArea();

Pokud bych nechtěl použít js kód, nebo změnit jinou …

Vývojové prostředí pro webové aplikace (IDE)

Nejenom talent a zkušennosti jsou potřeba pro úspěšný vývoj aplikací. Další vlastností je vývojové prostředí IDE.
V dnešní době je možné nalézt spoustu jednoduchých editorů, které jsou schopny zvýrazňování syntaxe popřípadě další zajímavé vlastnosti.

Nejprve udělám malé srovnání nejznámějších editorů a poté si vyberu svého favorita :)

JEdit
Jeden z dobrých editorů je jEdit. Po potřeby úprav jednoduchých skriptíků ideální řešení. Mezi jeho hlavní přednosti jistě patří to, že je multiplatformní. jEdit je napsán v Javě. I přesto je velice rychlý a obsahuje možnost doinstalovat spousty pluginů.

PSPad
Velice populární editor, od českého vývojáře. Mezi jeho hlavní přednosti patří rychlost a jednoduchost. Velkou nevýhodou je, že dokáže pracovat pouze pod Windows. Ano linux verze se nekoná. Je vhodný spíše pro začátečníky a drobné úpravy.

SciTE
Na počátku jednoduchý editor, který ale vyniká svou rychlostí a konfigurovatelností. Je možné ho používat i pod linuxem. Po dobré konfiguraci zvládne i slo…

HTML Framework 2 - Input

Dalším formulářovým políčkem, které chci probírat je input. Možností, jak jej využít je mnoho, stačí se podívat třeba sem.

Opakovaného psaní, stejně definovaného políčka, se opět vyhneme pomocí definování vlastní třídy na tento formulářový prvek. Složitější oproti select-option je zejména v tom, že má mnohem více možností (text, submit, password, checkbox, ...).

V adresáři /lib/HTML/Form jsem si vytvořil soubor Input.php, zde uvádím jeho část:
class HTML_Form_Input
{

/***************************** ATRIBUTY TRIDY *****************************/

/** typ inputu podle ktereho se odviji jeho vlastnosti */
private $type;

/** nazev inputu */
private $name;

/** hodnota inputu value u checkox moznost checked */
private $request;

/** velikost inputu */
private $size;

/** maximalni pocet znaku inputu */
private $maxlength;

/** policko bude sede, nepujde menit */
private $disabled;

/** obsah pole nepujde menit */
private $readOnly;

/** zarovnani jako u obrazku */
private $align;

/** nastaveni class z C…