Wie lade ich Klassen in MVC-ähnlichen Seiten basierend auf hübschen URLs?
Beim Erstellen einer benutzerdefinierten MVC-Website müssen Sie häufig mit dynamischen URLs arbeiten, bei denen der URL-Pfad eine Aktion darstellt, die innerhalb der Anwendung ausgeführt werden soll. Eine häufige Herausforderung besteht darin, verschiedene Teile der URL Controller-Methoden zuzuordnen.
Problem
Um die Kategorien im Blog-Controller dynamisch zu erweitern, können Sie die folgenden Schritte verwenden:
Antwort
Eine Möglichkeit, diese Funktionalität zu implementieren, ist:
// 正则表达式模式匹配 URL 路径 $pattern = '/^(?<controller>\w+)\/(?<method>\w+)\/(?<param>\w+)$/'; // 获取解析结果 $matches = preg_match($pattern, $url, $matches); // 自动加载控制器类 $class = '\Controller\' . $matches['controller']; $controller = new $class(); // 调用控制器方法 $controller->{$matches['method']}($matches['param']);
Mit dieser Methode können Sie beliebig viele Kategorien dynamisch kombinieren Dem Blog-Controller hinzugefügt, ohne den Controller selbst zu ändern.
Das obige ist der detaillierte Inhalt vonWie lade ich Klassen in einem MVC-Framework mithilfe hübscher URLs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!