Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

Phoca Cart - programové zkratky proměnných

17. čvn 2022 14:26 - 17. čvn 2022 15:31 #146548
Ahoj,

po včerejší online debatě zde uvedu příklad zkratek programových proměnných v Phoca Cart. Zkratky proměnných se používají předevších ke zpřehlednění kódu v editoru (místo dlouhých zalomených řádků je kód přehlednější). Jde většinou o technické pomocné proměnné, které se nevyhledávají (typicky: $key a $value ve foreach) a které je velmi jednoduché pochopit a zapamatovat si.

Příklad jednoho řádku kódu

BEZ ZKRATEK:
Code:
$output['billing'] .= '<div class="'.$style['class']['col.xs12.sm5.md5'] .' '.$style['class']['control-label'].'">' .HTMLHelper::_( 'image', $style['icon']['icon-16-folder-small.png'], '') .' ' . $form->getLabel($value->title).'</div>';

S POUŽITÍM ZKRATEK:
Code:
$o['b'] .= '<div class="'.$s['c']['col.xs12.sm5.md5'].' '.$s['c']['control-label'].'">' .HTMLHelper::_( 'image', $s['i']['icon-16-folder-small.png'], '') . ' ' . $form->getLabel($v->title).'</div>';


V tomto případě jsou to následující zkratky:
Code:
$o ... $output $s ... $style ($s['c'] ... $style['class'], $s['i'] ... $style['icon']) $v ... $value


Zkratky fungují jak lokálně $s, tak objektově $this->s. Kromě technických zkratek použitých v malých blocích není jejich počet nějak významný a dají se jednoduše zapamatovat, zde je seznam těch nejdůležitějších:


$d ... $displayData - proměnná používaná v layoutech, která obsahuje poslané proměnné např. z view, atd.

Technické/pomocné proměnné

$k ... $key
$v ... $value - obě se použivají ve foreach cyklu

$i, $j - standarní počítání průchodů cyklem
$c ... $count - celkový počet, většinou pro používání v cyklu

$o ... $output - v případě sestavování výstupu do proměnné, příklad:
Code:
$o = []; $o[] = '...'; $o[] = '...'; echo implode("\n", $o);

$js - alternativa k $o, pokud se jedná o javascriptový kód

$p ... $params
$pC ... $paramsComponent - rozdíl mezi $p a $pC je např. v pluginu/modulu, kde dostaneme parametry z pluginu/modulu ($p), ale potřebuje znát také parametry komponenty ($pC)

$r ... $render - administrační proměnná, které obsahuje pomocné funkce pro zobrazování výstupu v administraci

$t ... $template - většinou používané jako $this->t k přenášení pole různých proměnných v MVC - View (tedy z view do outputu)

$u ... $user
$x ... zkratka pro položku, viz příklad dole.


Pak je zde hodně zkratek, které se používají ve speciálních případech a pro zpřehlednění kódu, asi nemusím vysvětlovat, co v případě renderování XML znamenají tyto proměnné:
Code:
$t0 = "\t"; $t1 = "\t\t"; $t2 = "\t\t\t"; $t3 = "\t\t\t\t"; $t4 = "\t\t\t\t\t"; $t5 = "\t\t\t\t\t\t";

nebo zkratka definovaná v hlavičce souboru:
Code:
$x = $this->item[0];


Místo:
Code:
$label = PhocacartRenderFront::getLabel($this->item[0]->date, $this->item[0]->sales, $this->item[0]->featured);
se použije:
Code:
$label = PhocacartRenderFront::getLabel($x->date, $x->sales, $x->featured);

atd.

Samozřejmě, pokud by někdo z programátorů nepochopil tyto triviální zkratky, většinou definované v hlavičce souboru, pak rád dovysvětlím.

Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook

17. čvn 2022 15:48 #146551
Odpověď od Cony
Moderátor
dbnv (dobře beru na vědomí :D)

Powered by Fórum