9
votes

Quelqu'un peut-il expliquer le système de routage de Kohana 3?

dans bootstrap.php , où vous définissez des itinéraires, j'ai du mal à les faire travailler. J'ai lu une documentation il y a un moment où je ne peux pas sembler trouver qui les explique. Voici l'un de mes exemples xxx

i pensé qui signifierait une demande comme produits / quelque chose chargerait les articles Controller et le Action_View_Product () méthode. Mais je ne peux pas le faire fonctionner.

Quelqu'un peut-il vous expliquer exactement comment ils fonctionnent et quels sont tous les paramètres de la méthode?


0 commentaires

4 Réponses :


5
votes

Je pensais que cela signifierait une demande comme des produits / quelque chose se chargerait le contrôleur d'articles et le Contrôleur Action_View_Product . Mais je ne peut pas le faire fonctionner.

Vous avez la partie en gras mal. Il va effectivement charger Action_View_Product méthode du contrôleur d'articles: xxx

edit:

oh Mon Dieu oh ton Dieu, pourquoi n'ai-je pas remarqué !!!

Le problème réel réside dans votre motif de route! Il aurait dû être produits / () , avec les crochets d'angle. Ceux-ci allieront Kohana que vous aviez que le "type" est un nom de paramètre, au lieu d'un littéral.


3 commentaires

Désolé, c'était une faute de frappe! Je ne peux toujours pas sembler l'avoir à travailler pour moi.


Oui, j'ai une route par défaut qui capture tout (et qui fonctionne bien)


Avez-vous déclaré cette route personnalisée avant la route par défaut? Étant donné que le routage correspondra au premier itinéraire qu'il rencontre, et puisque la route par défaut correspondra à des "produits / quelque chose", il prendra cette route.



3
votes

UFF, désolé, plus bas et plus grand puis les signes ne montre pas correctement xxx


1 commentaires

ou même mieux: 'produit (/ )' , car sinon "produit" (sans barre oblique) ne serait pas apparié (bien que vous ne le vouliez peut-être pas.



3
votes

Les parenthèses indiquent des pièces facultatives (la regex correspondra si elles manquent). Ceux-ci peuvent être statiques et / ou contenir des variables nommées. Les crochets d'angle indiquent une variable nommée dans la route accessible dans le contrôleur via: xxx

J'ai écrit le guide de routage officiel que vous pouvez lire ici , il devrait répondre à toutes vos questions.


0 commentaires

0
votes

Pour l'enregistrement:

Le répertoire, le contrôleur et l'action sont accessibles à partir de la demande en tant que propriétés publiques comme: P>

// From within a controller:
$this->request->action;
$this->request->controller;
$this->request->directory;

// Can be used anywhere:
Request::instance()->action;
Request::instance()->controller;
Request::instance()->directory;


0 commentaires