2016-07-25 12 views
0

Ich habe eine Website: http://chanl.co.uk/ das ist effektiv ein Blog. Jeder Beitrag hat seinen eigenen Permalink, der zu einer bestimmten URL auf der Seite führt. In Projekten, an denen ich in der Vergangenheit gearbeitet habe, würden diese Links zu verschiedenen Indexdateien in separaten Ordnern geroutet werden, die dieselbe Vorlage für jeden Beitrag verwenden würden und dann die Daten abhängig von ihrem Permalink auswählen würden. Ich suche nach einer Möglichkeit, eine einzige Datei zu haben, auf die alle Posts verweisen, wenn sie darauf zugreifen. Fast nur Link, wie Wordpress eine "Single-Post" Vorlage für jeden Beitrag auf einer Website verwenden würde.URL-Routing zu einzelnen Index-Datei

Ich bin ein bisschen ratlos, wie man über diese Form des dynamischen Routing fast, und weiß nicht, wo ich anfangen soll. Müsste eine Route automatisch für jeden Post in der Datenbank generiert werden oder gibt es eine praktikablere Möglichkeit, das Problem zu lösen.

Awful Diagramm:

(My train of thought) 

Chanl - Post1/Index.php 
     Post2/Index.php 

(Optimal Solution) 

Chanl - posts.php (all posts are directed here) 

Antwort

0

Sie wollen sehen, wie ein einfacher PHP-Framework funktioniert, im Grunde wird jede Anforderung an eine in Ihrem Stammverzeichnis index.php Datei übergibt und dann werden Routen definiert durch Ihre URLs mit (rate was!) Ein Router ...

Einige Dinge, denen Sie begegnen werden.

1 - der Front-Controller prasseln 2 - das MVC-Muster 3 - Controller und Methoden (die auch als Funktionen bekannt)

Also im Grunde typische URL Strecke wie dieses

www aussehen würde. example.com/shop/product/id=12

übersetzen Diese zu

www.example.com/controller/method/parameter

Ihr Controller ist ein PHP Klasse, die Aktion ist eine Funktion in dieser Klasse und der Parameter sind alle Daten, die Sie übergeben möchten (zum Beispiel eine ID).

Alle Frameworks benötigen Routing- und Routing-Lösungen von relativ einfach bis sehr komplex.

Ich empfehle dieses Video, um zu erfahren, wie ein Basis-Ruhm funktioniert und dann zu einem echten Framework wie Laravel übergehen. Es braucht ein bisschen Headbing (für mich ein paar Wochen Schmerzen), aber es wird irgendwann klicken.

https://www.youtube.com/watch?v=OsCTzGASImQ&list=PLfdtiltiRHWGXVHXX09fxXDi-DqInchFD