2010-11-23 13 views
0

In Rails können Sie Controller in Ordnern organisieren und Ihre Struktur mit Namespacing schön halten. Ich suche nach einer ähnlichen Organisationsstruktur in Symfony 1.4.Symfony Actions Namespacing, oder ein besserer Weg?

Ich dachte an in einem Aktionen Ordner mehrere actions.class.php Dateien zu organisieren, aber alles, was ich über kam wurde mit unabhängigen Aktionsdateien, eine für jede Aktion ... wie folgt aus:

# fooAction.class.php 
class fooAction extends sfActions { 
    public function executeFoo() { 
    echo 'foo!'; 
    } 
} 

Aber Ich müsste ein ganz neues Routing-System entwickeln, um mehrere Aktionen in diese Datei zu integrieren, was ... albern ist.

Wirklich ich bin nur auf der Suche nach Symfony in Rails, (wieder, albern, aber ich bin mit Symfony für dieses Projekt stecken) so frage ich mich, ob es einen besseren Weg ....?

Danke.

+0

Ich verstehe nicht, was Sie erreichen wollen - wie in, warum diese in Symfony benötigen. Kannst du es weiter erklären? :-) – richsage

+0

Ich versuche aus organisatorischen Gründen Aktionen in Sets mit eigenen Dateien zu gruppieren. Die Aktionsdatei wird sonst sehr groß. Ich würde sie in ihre eigenen Module stecken, und das wäre in Ordnung, außer dann würde ich den Modulordner mit einer Milliarde Module verschmutzen. Was ich wirklich suche ist eine Verzeichnisstruktur wie diese: apps/frontend/modules/GROUP/module1, apps/frontend/modules/GROUP/module1. Aber ich habe keinen Weg gefunden, das zu tun .... vielleicht ist stattdessen eine ganz neue App in Ordnung. – wulftone

Antwort

3

Eine alternative Aktion Syntax ist Verfügung, um die Aktionen in separaten Dateien zu versenden, eine Datei pro Aktion. In diesem Fall erweitert jede Aktionsklasse sfAction (anstelle von sfActions) und erhält den Namen actionNameAction. Die eigentliche Aktion Methode heißt einfach execute.

class indexAction extends sfAction 
{ 
    public function execute($request) 
    { 
    // ... 
    } 
} 

A Gentle Introduction to symfony - chapter 06: Inside the controller layer, subsection Alternative Action Class Syntax

+0

Ja, das ist im Wesentlichen das Gleiche, was ich in meiner Frage notiert habe, nur eine andere Syntax ... Ich suchte nach einer Möglichkeit, ähnliche Aktionen in ihre eigenen Dateien zu gruppieren. – wulftone

+0

Sie haben Recht in Ihrem Kommentar: eine neue App ist in Ordnung. Sehen Sie sich auch [swCrossLinkApplicationPlugin] (http://www.symfony-project.org/plugins/swCrossLinkApplicationPlugin) an. – Maerlyn

+0

Oh, schön! Danke für den Link zum Plugin. Das wird großartig funktionieren! – wulftone

Verwandte Themen