CakePHP disponuje prepracovaným mechanizmom, ktorý spája modely podľa definovaných väzieb a na základe týchto väzieb automaticky vytvára objekty modelov. Avšak môže nastať situácia, kedy potrebuje nahrať model dynamicky až za behu aplikácie. CakePHP nám ponúka niekoľko možností.
Dynamické nahrávanie modelu v CakePHP
CakePHP disponuje prepracovaným mechanizmom, ktorý spája modely podľa definovaných väzieb a na základe týchto väzieb automaticky vytvára objekty modelov. Avšak môže nastať situácia, kedy potrebuje nahrať model dynamicky až za behu aplikácie. CakePHP nám ponúka niekoľko možností.
V praxi môže nastať situácia, kedy potrebujeme dynamicky nahrať model z controlleru alebo z modelu tzn. až za behu samotnej aplikácie. Najprv si predstavíme spôsob dynamického nahrávania modelu z controlleru.
Takto sa pri každom použití controlleru Articles sa nahrá a vytvorí objekt modelu Comment (samozrejme ak máme definované väzby v modeloch, napr. väzbu Article hasMany Comment, nemusíme explicitne uvádzať, že sa má daný model Comment nahrávať). Takéto správanie nemusí byť vždy žiadúce a nahratie modelu a vytvorenie jeho objektu budeme chcieť urobiť dynamicky, napr. iba pri vykonávaní akcie add. K tomuto účelu využijeme triedu App a jej metódu import
Vyššie spomenutý postup je platný aj pre dynamické nahrávanie modelu z iného modelu. Takto by vyzeralo dynamické nahratie a vytvorenie objektu modelu Comment z modelu Article
Zdroj: Ims.rockretail.com