sql >> Database >  >> RDS >> Mysql

cakephp die componenten gebruikt als controllermethoden

Een onderdeel is niet hetzelfde als een model. Dus als je dingen op deze manier wilt doen, moet je je Action . veranderen model in een Component.

De component gaat naar Controller/Component/ActionComponent.php , en dan kan het als volgt in uw controllers worden opgenomen:

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

De logica in uw Component kan vergelijkbaar zijn met die in een Model, maar er zijn enkele verschillen. U kunt bijvoorbeeld nog steeds een actiemodel hebben en de component kan dat gebruiken voor CRUD en andere dingen. U moet ClassRegistry::init() . gebruiken om een ​​model in uw Component te laden.

Ik kan niet echt uitleggen hoe je precies moet doen wat je wilt, een reden daarvoor is dat ik niet precies genoeg weet wat je wel wilt. Ik heb echter eerder mijn eigen Component geschreven en je kunt het gebruiken voor referentie als je wilt - het is mogelijk ingewikkelder dan de jouwe, zodat je kunt zien hoe je er methoden voor kunt schrijven.

Aangepaste ACL-component

In dat voorbeeld, als het eenmaal is opgenomen in een controller, kan ik eenvoudig $this->CustomAcl->check() aanroepen waar ik maar wil.

Ik hoop dat dit genoeg is om u in ieder geval op weg te helpen.




  1. Fout krijgen tijdens het uitvoeren van de SELECT-instructie in Toad voor MySQL

  2. Som aantal overlappende datum- en tijdbereiken in MySQL

  3. Retourresultaat van PostgreSQL als JSON-array?

  4. Isql gebruiken met een Connection String