2010-07-21 6 views
0

J'apprends cakePHP 1.26.
Une question m'est venue à l'esprit lorsque je créais une fonction dans un contrôleur.
Comment maximiser la convivialité d'une fonction auto-définie dans CakePHP.
comment maximiser la facilité d'utilisation d'une fonction auto-définie dans CakePHP

Voici mon exemple de code:

puis dans un fichier .ctp, je vais utiliser cette fonction:

$u = $this->requestAction('../hello'); 
if($u==2){ 
echo "welcome back, my friend"; 
} 
else{ 
echo "Hello World"; 

S'il vous plaît conseiller.

Répondre

1

Évitez l'utilisation de $this->requestAction()-hello() devrait être appelé à l'action de la vue et le résultat en tant que variable de vue. La réutilisabilité est gérée sur un système en cascade - sur le contrôleur, il peut être accédé par n'importe quelle méthode sur le même contrôleur. Sur app_controller, il est accessible depuis n'importe quel contrôleur. Le même principe s'applique s'il s'agit de données - il va sur le modèle ou app_model. En appliquant correctement les principes MVC et OO, vous faites déjà les choses de manière optimale.

1

Il me semble que vous pouvez faire le travail plus facilement. Vous n'avez pas besoin de cette méthode dans votre contrôleur. Vous pouvez accéder à quoi que ce soit stocké dans la session en utilisant Session helper:

if($session->read('user')){ 
    echo "welcome back, my friend"; 
}else{ 
    echo "Hello World"; 
}