MySQL procedūrų naudojimas CakePHP
Pačiam dar neteko naudoti, bet pastebėjau gerą įrašą ta tema. Pirmiausia duomenų bazės nustatymuose (config/database.php) nustatom tvarkyklę:
-
'driver' => 'mysqli'
Procedūra iškviečiama $this->query() pagalba:
-
function findAd($site) {
-
$advert = $this->query('CALL display_ad("'.$site.'");');
-
return $advert;
-
}
Toliau šią funkciją panaudojam kontroleryje:
-
function show($site = null){
-
$advert = $this->Advert->findAd($site);
-
$this->set('advert', $advert[0]);
-
}
table td parametrų nustatymas per $html->tableCells()
Kartais formuojant rezultatų lentelę tenka stulpeliui nustatyti atskirą klasę, stilių. Tai galima padaryti tokiu būdu:
-
$html->tableCells(array(
-
'Komentaras',
-
array('Viso', array('class' => 'itemscount'))
-
));
Nuo 1.2 versijos Ticket #2406
CakePHP – lengvesnis formos laukų valdymas su $form->inputs()
Dirbant su CakePHP FormHelper jeigu forma turi daug laukų tampa varginantis darbas, o ir kodas tampa ne toks jau gražus.
Paimkim nedidelį pavyzdį:
-
<?php
-
echo $form->create('Demo');
-
echo $form->input('Demo.id');
-
echo $form->input('Demo.name');
-
echo $form->input('Demo.lastname');
-
echo $form->input('Demo.phone');
-
echo $form->input('Demo.email');
-
echo $form->input('Demo.website');
-
echo $form->input('Demo.street');
-
echo $form->input('Demo.city');
-
echo $form->input('Demo.country');
-
echo $form->submit('Done');
-
?>
Priklausomai nuo šablono (jeigu forma išdėstyta nestandartiškai ar pan.), galima naudot ir:
-
<?= $form->create('Demo'); ?>
-
<?= $form->input('Demo.id'); ?>
-
<?= $form->input('Demo.name'); ?>
-
<?= $form->input('Demo.lastname'); ?>
-
<?= $form->input('Demo.phone'); ?>
-
<?= $form->input('Demo.email'); ?>
-
<?= $form->input('Demo.website'); ?>
-
<?= $form->input('Demo.street'); ?>
-
<?= $form->input('Demo.city'); ?>
-
<?= $form->input('Demo.country'); ?>
-
<?= $form->submit('Done'); ?>
Tačiau jeigu šablonas +/- standartinis, užtenka tik CSS stiliaus formavimui, puikus sprendimas būtų naudoti $html->inputs() $form->inputs()
-
<?php
-
echo $form->create('Demo');
-
echo $form->inputs(array(
-
'Demo.id',
-
'Demo.name' => array('label' => 'Vartotojas'),
-
'Demo.lastname',
-
…
-
'Demo.country'
-
));
-
echo $form->submit('Done');
-
?>
Plačiau FormHelper API
CakePHP biblioteka #1
1. Puikus rašinys, kaip pagreitinti aplikacijos veikimą. Pagrindas – cache.
2. Trumpas CSS stiliaus gabaliukas, pagerinantis log informacijos peržiūrą. O jeigu reikia išsamios informacijos (cookie, sesijų reikšmės ir t.t.) – Debug Kit plugin.
3. JQuery naudojimas su CakePHP: I dalis, II dalis.
4. JQuery įskiepis, kuris įjungia submit mygtuką jeigu informaciją į teksto laukelį užpildyta.
5. Šiek tiek SEO, “pagražinant” nuorodas su mod_rewrite

2009.04.03

