php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.01.2012, 18:04  
archer42
Gast
 
Beiträge: n/a
Standard Symfony2 - Fragen

Hallo,

ich bin gerade dabei die Grundlagen zur Benutzung des Symfony2 Frameworkes zu lernen und habe dabei einige offene Fragen:

1. Empfiehlt es sich mehrere Bundles für ein Software Projekt zu verwenden und wenn ja, wann wäre dies?
Beispiel:
Zitat:
Angenommen eine Seite umfasst einen Blog, Forum, Homepage, Shop.
So wäre es doch angebracht dieses in mehrere Bundles aufzuteilen?
Gibt es noch weitere Anwendungen, in dem es sich lohnt auf mehrere Bundles zu setzen?
2. Wie strukturiere ich sinnvoll Actions?
Sollte man große Actions, welche Variablen im Pfad entgegennehmen verwenden oder lieber viele kleine?
Große Actions:
Zitat:
/{page}

... wenn page = news, dann news, wenn page = impressum, dann impressum...
Kleine Actions:
Zitat:
/news
....lade news

/impressum
... lade impressum
3. Wie sieht die Anbindung zur Businessschicht aus?
Sollte der Controller über Actions auf ein Facade Pattern zugreifen?

Gruß archer
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.01.2012, 22:40  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Sollte der Controller über Actions auf ein Facade Pattern zugreifen?
Du meinst Fasade? Ein "Pattern" ist niemals eine Instanz eines Objektes, auf das du zugreifen kannst.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 18.01.2012, 23:37  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von archer42 Beitrag anzeigen
1. Empfiehlt es sich mehrere Bundles für ein Software Projekt zu verwenden und wenn ja, wann wäre dies?
Ja, die von dir genannten Beispiele sind alles Einsatzfälle für Bundles. Google mal nach Symfony2 Bundles, dort findest du interessante Komplettlösungen.

Zitat:
2. Wie strukturiere ich sinnvoll Actions?
Sollte man große Actions, welche Variablen im Pfad entgegennehmen verwenden oder lieber viele kleine?
Die Frage verstehe ich nicht und hat wohl weniger was mit sf2 zu tun. Ess geht nicht um die Frage, wie du sie strukturieren könntest, sondern sie hängen von dem Einsatzfall ab.

Für ein Trackerprogramm etwa macht es Sinn, einen Controller "task" mit den Actions "new", "edit", "delete" und "view" zu bestücken. Dann gibt es noch den Controller "user", den Controller "project" etc...

Zitat:
3. Wie sieht die Anbindung zur Businessschicht aus?
Sollte der Controller über Actions auf ein Facade Pattern zugreifen?
Auch diese Frage verstehe ich nicht ganz. Der Zugriff auf die Businessschicht (in der sich der Controller teilweise schon selbst bewegt) läuft ab wie woanders auch: Es werden Klassen benutzt, um seine Aufgabe zu erledigen. Um dabei flexibel und gleichzeitig wartbar zu bleiben, gibt es den DI Container, auf den du innerhalb eines Controllers mit der Methode "get()" Zugriff hast.
__________________
dsentker ist offline   Mit Zitat antworten
Alt 19.01.2012, 06:56  
archer42
Gast
 
Beiträge: n/a
Standard

Zitat:
Du meinst Fasade? Ein "Pattern" ist niemals eine Instanz eines Objektes, auf das du zugreifen kannst.
Ja, aber an welcher Stelle wird dann "alles" instanziert

Zitat:
Für ein Trackerprogramm etwa macht es Sinn, einen Controller "task" mit den Actions "new", "edit", "delete" und "view" zu bestücken. Dann gibt es noch den Controller "user", den Controller "project" etc...
... und da stellt sich eben für mich die Frage, wann es Sinn machen würde, woran man sich da richten kann usw.

Zitat:
Auch diese Frage verstehe ich nicht ganz
Bisher war doch jede Antwort passend, trotz so viel Missverständnis

Zitat:
Um dabei flexibel und gleichzeitig wartbar zu bleiben, gibt es den DI Container, auf den du innerhalb eines Controllers mit der Methode "get()" Zugriff hast.
Ist ein DI-Container nichts anderes als eine Sammlung von Dependency Injections?
  Mit Zitat antworten
Alt 19.01.2012, 11:04  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von archer42 Beitrag anzeigen
Ist ein DI-Container nichts anderes als eine Sammlung von Dependency Injections?

Der ServiceContainer (so wird er bei Symfony2 genannt, finde den Begriff auch wesentlich besser) spendiert dir anhand eines Aliases ein bestimmtes Objekt. Da dieses Objekt von anderen abhängig sein könnte (die Klasse "Newsletter" benötigt etwa im Konstruktor eine PHPMailer-Instanz), kümmert sich dieser Container da auch gleich drum.
__________________
dsentker ist offline   Mit Zitat antworten
Alt 19.01.2012, 16:31  
archer42
Gast
 
Beiträge: n/a
Standard

Was ich noch nicht verstehe ist, wie der Controller bzw. dessen Actions nun die Applikation steuern bzw. auf diese zugreifen.

Angenommen ich habe eine Software zur Autovermietung. Nun bin ich angemeldet und klicke auf einen Button/Link, mit welchem ich einen neuen Mietvorgang starten will. Der router könnte nun /new_rent der NewRentAction zuweisen. Diese müsste doch dann über ein Fassade-Pattern die Anwendung steuern oder habe ich da einen Zwischenschritt vergessen?
  Mit Zitat antworten
Alt 19.01.2012, 17:33  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Warum? Das übernimmt doch Symfony für dich. Alles was du tun musst, ist in der Routing-Config anzugeben, welche Action geladen werden soll.
__________________
dsentker ist offline   Mit Zitat antworten
Alt 19.01.2012, 19:26  
archer42
Gast
 
Beiträge: n/a
Standard

Ich glaube ich habe das falsch erklärt.

Ich muss meine Businesschicht im Symfony-Framework einbetten bzw. in dessen Bundles.

Symfony kümmert sich dabei um verschiedenste Grundlegende Funktionen (Ausgabe (MVC), Session, ORM (Doctrine)...).

Nun melde ich mich bei einer gedachten Anwendung an und gehe bsw. auf ein Menü, in welchem ich neue Aufgaben hinzufügen kann, Aufgaben, welche meine Businessschicht verwaltet. Der Aufruf über das Menü geschieht per GET und die Übertragung eingegebener Daten per POST. Nun kann ich übers Routing die Daten abfangen und einem Kontroller zur verfügung stellen.

Was macht dieser Kontroller nun im Idealfall mit den Daten?

Leitet er Sie weiter (Fassade-, Adapter-Pattern) oder gibt er Sie direkt in meine Anwendung weiter, in dem er Beispielsweise ein neues Objekt (Row-Data-Gateway-Pattern) erzeugt?


Oder einfach gesagt: Was steht im Controller?
  Mit Zitat antworten
Alt 19.01.2012, 20:23  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Zitat:
Zitat von archer42 Beitrag anzeigen
Was macht dieser Kontroller nun im Idealfall mit den Daten?
Verarbeiten? Entsprechend der Parameter Entscheindungen treffen? Einen Response erzeugen? Ein Template rendern? Was auch immer du mit den Daten machen willst.


Darf ich dich fragen, ob du dich im Detail mit der Dokumentation auseinandergesetzt hast? Das Gefühl habe ich jedenfalls nicht.

Edit: Im Übrigen könntest du dir das mitgelieferte DemoBundle ansehen.

Geändert von Trainmaster (19.01.2012 um 20:27 Uhr).
Trainmaster ist offline   Mit Zitat antworten
Alt 20.01.2012, 08:07  
archer42
Gast
 
Beiträge: n/a
Standard

bitte nicht so oberflächig antworten....

Ihr geht alle davon aus, dass ich mit Symfony2 nur erweiterte Templates darstellen will... Was ist aber, wenn die Businesschicht die Ausgabe generiert und sich etwas in der Applikation ändert?

Kommt mal von den einfachen Hallo Welt Beispielen weg!

Angenommen wir haben ein Browser Game.
Die Businesschicht muss hier Beispielsweise Karten "generieren" und Eingaben annehmen und an die entsprechenden Komponenten weiterleiten.

Bei einem Browsergame könnte diese in sehr vielen Aufrufen von Objekten im Kontroller enden und ich kann mir nicht vorstellen, dass dies so ist, dass es da keine elegantere Lösung gibt....
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Allgemeine Fragen zum Cachen von Anwendungen/Seiten MaxC PHP Einsteiger 26 14.11.2011 21:36
PHP5-CLI Fragen über Fragen sourze PHP Einsteiger 7 20.10.2011 18:57
[Erledigt] Diverse Fragen MVC Datenbanken etc. DrDreistein PHP-Fortgeschrittene 67 29.07.2011 18:15
PHP Fragen (IDE, Kommentare, Vordefinierte Variablen usw.) thedoctor46 PHP Einsteiger 2 08.02.2011 15:08
Performance Fragen jwka61 PHP Tipps 2010 7 17.11.2010 19:48
Erneuern von Fragen DasBlatt PHP Tipps 2010 8 22.02.2010 15:30
ein paar Fragen (wegen eines Loginhistory) Ninos PHP Tipps 2009 5 04.04.2009 14:59
PHP/MySQL Softwareprojekt - grundsätzliche Fragen spacemanspiff Software-Design 1 30.01.2009 14:40
Renommee Funktion wirft Fragen... tomtaz Board-Support 11 02.07.2008 21:18
gettext, einige fragen notyyy PHP Tipps 2008 12 01.05.2008 12:09
Generelle PHP Fragen Madden PHP-Fortgeschrittene 3 11.04.2005 01:24
[Erledigt] Allgemeine Anfänger Fragen PHP Tipps 2004-2 5 20.12.2004 14:57
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
response weiterleiten symfony2, symfony2 browsergame, symfony2 tutorial deutsch, symfony2 deutsch dokumentation, symfony2 deutsch, was für große seiten benutzen symfony2, 1 symfony instanz für mehrere webseiten, php durch symfony2 lernen?, symfony 2 php mehrere bundles verwenden, symfony2 zugriff auf bundle konfiguration, symfony2 zugriff auf configuration eines bundles, symfony 2 seiten, symfony2 grundlagen, symfony2 auf einen user zugreifen, symfony 2 lernen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum