sql >> Databáze >  >> RDS >> Mysql

cakephp pomocí komponent jako řídicích metod

Komponenta není totéž co model. Takže pokud chcete dělat věci tímto způsobem, budete muset změnit Action modelovat do komponenty.

Komponenta by přešla do Controller/Component/ActionComponent.php a pak jej lze zahrnout do vašich ovladačů takto:

public $components = array(..., 'Action');

Logika vaší komponenty může být podobná jako v modelu, ale existují určité rozdíly. Například stále můžete mít akční model a komponenta jej může použít pro CRUD a další věci. Budete muset použít ClassRegistry::init() k načtení modelu do vaší komponenty.

Nedokážu opravdu vysvětlit, jak dělat přesně to, co chcete, jedním důvodem je to, že nevím dostatečně přesně, co chcete. Nicméně již dříve jsem napsal svou vlastní komponentu a můžete ji použít pro odkaz, pokud chcete - je to možná složitější než vaše, takže můžete vidět, jak pro to napsat metody.

Vlastní komponenta ACL

V tomto příkladu, jakmile je součástí Controlleru, mohu jednoduše zavolat $this->CustomAcl->check() kdekoli se mi líbí.

Doufám, že to pro začátek stačí.




  1. Zavolejte uloženou proceduru s jinou v Oracle

  2. Generování stromu založeného na hloubce z hierarchických dat v MySQL (žádné CTE)

  3. Vícenásobná tabulka spojuje více cizích klíčů MySQL

  4. Najděte pozici textu, extrahujte text a vložte do nového sloupce v MySQL