MVC システムと同じプリンシパルを使用する php アプリケーションを開発していますが、クラスは使用したくありません。私が達成しようとしているのは、クラスを必要とせずに SEO URL (mysite.com/product/Some-Cool-Product/123) を持つことです。メソッドは代わりに関数を使用します。私が直面している最大の問題は、URI を適切なファイルと関数にマッピングすることです。たとえば、mysite.com/members/profile/123 は「sources/members.php」ファイルを指し、「profile」関数を呼び出します。問題の原因は、ソース ファイルにディレクトリを使用する機能を追加したことです。「mysite.com/forums/threads/view/12345」などの URL を使用したい場合は、「sources/forums/threads.php」を指し、id を引数として「view」関数を呼び出します。
誰でもこれで私を助けることができますか? これが私がこれまでに持っているものです。
<?php
$uri = $_SERVER['REQUEST_URI'];
$uri = ltrim($uri, '/');
$uri_segments = explode('/', $uri);
$invalid = 0;
foreach($uri_segments as $key => $val){
if(!preg_match('^[a-z0-9]^', $val)){
$invalid = $invalid + 1;
}
}
if($invalid > 0){
die('Could not execute the script... the uri contains invalid characters.');
} else {
//Load the script.
}
?>