php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.02.2010, 15:30  
DerApfel
Gast
 
Beiträge: n/a
Standard Parameter für Controller-Funktionen

Hallo Community,

ich möchte innerhalb eines Controllers den Funktionen Parameter zuweisen. Diese sollen direkt über die URL übergeben werden können, also z.B. mit http://www.example.org/cms/viewpage/...9/Testtitel/5/. Nun sollte die Viewpage-Methode mit den Parametern 29_12_09, Testtitel und 5 (der Reihe nach) gefüttert werden, ohne dass ich das nun explizit für jede Funktion und jede Parameteranzahl in der .htaccess definieren müsste.

Wie könnte ich das mit mod_rewrite realisieren?

Grüße aus Bayern,
Simon
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.02.2010, 16:20  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
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

Hallo DerApfel,

mit mod_rewrite wirst du das nicht lösen können. Hierzu hatten wir vor einiger Zeit mal eine Diskussion im Softwaredesign-Forum. Die Lösung ist, eine generische RewriteRule und ein Parser, der das in die entsprechende Form, die die Applikation versteht, übersetzt. Im APF ist das über dedizierte Input-Filter für den Front-Controller gelöst, die ein URL-Schema in Action-Anweisungen und Parameter übersetzen.
__________________
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.02.2010, 19:23  
Benutzer
 
Registriert seit: 07.08.2009
Beiträge: 94
PHP-Kenntnisse:
Anfänger
Anyone befindet sich auf einem aufstrebenden Ast
Standard

Kurze Frage: Welchen Mehrwert bietet die Gestaltung einer URL auf diese Weise?
Anyone ist offline   Mit Zitat antworten
Alt 18.02.2010, 19:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.246
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Je nach System:
- Schönheit/Lesbarkeit
- SEO Gründe
- Systematik fürs MVC-Actioncontrolling
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 19.02.2010, 20:54  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
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

Insbesondere letzteres bietet die Möglichkeit, Applikationen, die nach dem Front-Controller-Pattern implementiert sind, sauber über die URL zu entkoppeln.
__________________
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 19.02.2010, 21:01  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.246
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Stimmt, eigentlich war MVC als Stichwort hier etwas irreführend. Richtiger ist, dass Rewrite-URLs jedes entsprechend gestaltete generische Controlling ansprechen kann.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 19.02.2010, 21:15  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
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

Wobei hier nicht zwingend URL-Rewriting eingesetzt werden muss, es geht vielmehr um das URL-Layout. Es muss einfach die Möglichkeit bieten, mehrere Front-Controller-Action-Anweisungen aufzunehmen und es bedarf einer Komponente, die das Layout versteht und umsetzen kann. Sofern das gegeben ist, ist alles in Butter.
__________________
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 20.02.2010, 11:03  
Benutzer
 
Registriert seit: 07.08.2009
Beiträge: 94
PHP-Kenntnisse:
Anfänger
Anyone befindet sich auf einem aufstrebenden Ast
Standard

Dazu hätte ich allerdings eine Frage: Wie kann das Programm wissen, welche Programmkomponenten durch die URL angesprochen werden? Nehmen wir beispielsweise folgende URL:

http: //www. php. de/software-design/64796-parameter-fuer-controller-funktionen.html#post495118

Wie kann anhand der URL beispielsweise erkannt werden, dass es sich um den Bereich "Software-Design" und um das Thema "Parameter für Controller" handelt? Es müssen doch irgendwelche Rahmenbedingungen dazu existieren. Entschuldigung, aber mir fehlt da irgendwie der richtige Einblick.
Anyone ist offline   Mit Zitat antworten
Alt 20.02.2010, 11:15  
DerApfel
Gast
 
Beiträge: n/a
Standard

Hallo,

ich hätte mir hierfür einfach eine RewriteRule definiert:
Code:
RewriteEngine On
RewriteRule /(.*)/(.*) index.php?board=$1&params=$2
Und dann die Parameter, die ja nun einfach per GET übergeben werden, ausgewertet.

Grüße,
Simon
  Mit Zitat antworten
Alt 20.02.2010, 11:59  
Benutzer
 
Registriert seit: 07.08.2009
Beiträge: 94
PHP-Kenntnisse:
Anfänger
Anyone befindet sich auf einem aufstrebenden Ast
Standard

Wenn man jedoch das URL-Design feste Richtlinien zuordnet, dann geht doch ein Stück weit Flexibilität verloren. Beispielsweise könnte einem Teilfragment der URL keine optionale Anzahl an Parametern zugewiesen werden, da nur der letzte Abschnitt der URL eine optionale Anzahl von Parametern aufnehmen kann. Was ich damit ausdrücken möchte:

www . meinewebseite . de / Modul / Aktion 1 / Aktion 2 / Aktion 3 / andere Parameter.

Möchte man jedoch vier Aktionen ausführen, dann steht man doch vor einem Problem?
Anyone ist offline   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
PHP Default charset für Funktionen MasterQ PHP-Fortgeschrittene 6 06.01.2011 10:03
COM Exception "Typkonflikt" bei array parameter by reference k_m_becker PHP-Fortgeschrittene 6 11.11.2010 20:14
Controller Hierarchie Dark Guardian Software-Design 18 27.10.2009 13:22
[Erledigt] Warning: mysql_result() expects parameter 1 to be resource, boolean given FloRic Datenbanken 8 19.10.2009 20:15
Mehrere Controller auf einer Seite fat32 Software-Design 6 27.07.2009 16:55
parameter von interfaces in klassen richtig mit anwenden? litterauspirna PHP Tipps 2009 27 30.06.2009 20:58
[Erledigt] Parameter in JavaScript übergeben stefanus JavaScript, Ajax und mehr 3 24.09.2008 22:51
Templatesystem mit Funktionen und Variablen drin? BartTheDevil89 PHP Tipps 2008 6 01.07.2008 09:32
Klassen und externe Funktionen ? ssm PHP-Fortgeschrittene 17 18.07.2007 11:59
Funktionen überprüfen und Grafik Funktionen hans.karl2 PHP Tipps 2006 10 31.07.2006 20:08
Parameter überschreiben Igäl PHP Tipps 2006 8 04.06.2006 19:55
Variable als optionalen Parameter? Mex PHP Tipps 2006 3 20.04.2006 07:05
Globale Variabeln in Funktionen finerip PHP Tipps 2007 3 28.11.2005 16:00
einen parameter verstecken seven-12 PHP Tipps 2005-2 8 27.07.2005 16:57
Eure Ideen sind gefragt: eigene Funktionen verwalten PHP-Fortgeschrittene 12 17.01.2005 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html param controller, php controller parameter, parameter url mod rewrite php, controller funktionen, derapfel, frontcontroller ajax, controllerbeispiel php, controller design php, controller beispiel php, funktionen eines controllers, php parameter sauber parsen, param übergeben controller php, funktionen den controllers, html parameter controller, php parameter methode oder, programm funktionen php

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 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