Mysql
 sql >> база данни >  >> RDS >> Mysql

cakephp, използвайки компоненти като методи на контролер

Компонентът не е същият като модел. Така че, ако искате да правите нещата по този начин, ще трябва да включите Action модел в компонент.

Компонентът ще влезе в Controller/Component/ActionComponent.php , и след това може да бъде включен във вашите контролери по следния начин:

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

Логиката във вашия компонент може да бъде подобна на тази в модел, но има някои разлики. Например, все още можете да имате модел на действие и компонентът може да го използва за CRUD и други неща. Ще трябва да използвате ClassRegistry::init() за да заредите модел във вашия компонент.

Не мога да обясня как да направите точно това, което искате, една от причините за това е, че не знам достатъчно точно какво точно искате. Въпреки това, аз съм написал свой собствен компонент преди и можете да го използвате за справка, ако желаете - вероятно е по-сложен от вашия, така че можете да видите как да напишете методи за него.

Персонализиран ACL компонент

В този пример, след като е включен в контролер, мога просто да извикам $this->CustomAcl->check() където пожелая.

Надявам се, че това е достатъчно, за да започнете поне.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UTC_TIMESTAMP() Примери – MySQL

  2. MySQL заявка низ съдържа

  3. Премахнете напълно MariaDB или MySQL от CentOS 7 или RHEL 7

  4. ASP, MySQL и UTF-8

  5. По-бързи ли са математическите функции в MySQL от PHP?