CakePHP - trochu nutné teorie
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

CakePHP - trochu nutné teorieCakePHP - trochu nutné teorie

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

CakePHP - trochu nutné teorie

Google       Google       30. 1. 2008       15 670×

Náš poslední díl (pravda, už je tomu půl roku, co byl vydán) skončil u vypisování seznamu a jednotlivých záznamů z DB. K pochopení další látky je nutné si trošku více povědět o principech fungování Caku. Povíme si pořádně o hleperech a modelech.

Reklama
Reklama

Cake vám nabídne pomocnou ruku tam, kde se dá, a to samozřejmě i při vytváření formulářů. Pomocí helperů jednoduše vypíšete formulářové prvky a také je následně jednoduše uložíte.

Helpery

Jak již bylo řešeno, helpery jsou tu proto, aby nám usnadnily práci. V kontextu Caku mluvíme o pomocných třídách, které nám pomáhají generovat xHTML kód. Helpery jednoduše aktivujeme jejich deklarací v proměnné $helpers:

class ExampleController extends AppController
{

    public $helpers = array('Form', 'Html', 'Javascript');

    public function index()
    {
    }

}

Tímto nastavením jsme nahráli do view 3 helepry, a to Form, Html a Javascript. Prakticky to znamená, že nyní ve view jsou dostupné nové tři proměnné, stejně pojmenované. Přesněji, máme v oněch proměnných vytvořené objekty jednotlivých helperů:

$form->foo();
$html->foo();
$javascript->foo();

Nyní již můžeme normálně pracovat s objekty, volat jejich metody apod.

Ve výchozím nastavení se automaticky nahrává helper Html. Pokud budete potřebovat další helpery, tedy definovat znovu proměnnou $helpers, nezapomeňte, že seznam načítaných helperů přepisujete – ne přidáváte.

Jestliže nechcete nahrávat helpery žádné, uveďte prázdné pole.

Helper HTML

Do verze 1.2 se tato třída starala také o vytváření formulářů. Velmi dobrým krokem bylo oddělení této problematiky do samostatné třídy. Nyní v HtmlHelperu zbyly už jen metody pro základní html elementy.

Příklady použití:

<?php echo $html->docType('xhtml-strict') ?>
<html>
    <head>
        <?php echo $html->charset('utf-8') ?>
    </head>
    <!-- .... -->
</html>

Myslím, že situace, kdy tyto pomocníky využijete, jsou již jasné. Vřele doporučuji dále studovat pomocí API, u HtmlHelepru konkrétně na adrese http://api.cakephp.org/1.2.

Helper Form

Snad nejpoužívanějším helperem je třída FormHelper. Díky ní je vytváření formulářů mnohem snazší. Výhodou těchto Helperů je samozřejmě to, že vás nikdo nenutí je používat. Výhody (i nevýhody) si ale nakonec jistě zjistíte sami a budete používat jen to, co se hodí.

<?php
echo $form->text('User.first_name');
//<input name="data[User][first_name]" value="" type="text" />
?>

Zde jsme využili metody text, která nám vygeneruje základní input. Rovnou si všimněme předaného parametru. Cake pracuje u všech sloupců také se jménem tabulky. 'User.first_name' tedy znamená, že máme na mysli sloupce first_name z tabulky users, ke které je vázána modelová třída User.

Nyní ale přichází Cake s mnohem zajímavější nabídkou, s automatickým rozpoznáním typu vstupního pole podle typu databázového sloupce. Samozřejmě, někdy si prostě chcete typ vstupního pole určit sami, ale pro zbytek případů je tu metoda input().

<?php
// predpoklad: sloupec first_name je typu VARCHAR(254)

echo $form->input('User.first_name')
//<input name="data[User][first_name]" value="" type="text" />
?>

Výhoda tohoto přístupu je taková, že pokud se např. rozhodnete umožnit zadávat uživateli delší text, a změníte typ sloupce na TEXT, automaticky za vás Cake vygeneruje prvek textarea.

Opět doporučuji případné studium API manuálu pro třídu FormHelper. Problematice vytváření formulářů se budeme podrobně věnovat v příštím díle, takže pokud jste pochopili, ale chcete více, počkejte si na příští díl.

Formát dat vrácených FormHelperem

Helpery za nás generují html tagy, ale, jak jste si mohli všimnout v dnešních ukázkách, také vytvářejí speciální název vstupních tagů: data[User][first_name]. Cake tedy od PHP získá výsledky již ve formátu pole a tak je vám taky nabídne.

Výhoda tohoto formátu je ta, že s ním pracuje Model, když bude vaše data ukládat. Více opět až příště.


Dnes jsme si řekli lehký úvod k helperům, formulářům. Příště se na ně vrhneme přímo po hlavě a hlavně prakticky – dokončíme naši CRUD aplikaci.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jan ŠkrášekHonza pracuje jako webdeveloper, věnuje se vývoji Nette\Database a Nextras komponentám. Mnoho času věnuje komunitnímu portálu signály.cz. Honza je taky fanouškem XML technologií.
Web     Twitter    

Nové články

Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Reklama
Reklama
Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý