sql >> Database teknologi >  >> RDS >> Mysql

cakephp ved hjælp af komponenter som controller metoder

En komponent er ikke det samme som en model. Så hvis du vil gøre tingene på denne måde, bliver du nødt til at vende din Action model til en komponent.

Komponenten går ind i Controller/Component/ActionComponent.php , og så kan det inkluderes i dine controllere sådan her:

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

Logikken i din komponent kan ligne den i en model, men der er nogle forskelle. For eksempel kan du stadig have en Action-model, og komponenten kan bruge den til CRUD og andre ting. Du skal bruge ClassRegistry::init() for at indlæse en model i din komponent dog.

Jeg kan ikke rigtig forklare, hvordan man gør præcis, hvad du vil, en grund til det er, at jeg ikke ved præcist nok, hvad det er, du vil. Jeg har dog skrevet min egen komponent før, og du kan bruge den til reference, hvis du vil - det er muligvis mere kompliceret end dit, så du kan se, hvordan du skriver metoder til det.

Tilpasset ACL-komponent

I det eksempel, når det er inkluderet i en controller, kan jeg simpelthen kalde $this->CustomAcl->check() hvor som helst jeg kan lide.

Jeg håber, at dette i det mindste er nok til at få dig i gang.




  1. Sådan finder du ud af, om der findes en værdi i en VARRAY

  2. MySQL If Dato erklæring?

  3. Sådan fungerer LOG2() i MariaDB

  4. MySQL-koncepter:session vs forbindelse