ガイダンスを求めています
オンライン チュートリアルもあります
オープンソースをダウンロードするだけです。フレームワークを作成し、コードを見てください。
Apache はファイルを完全に見つけて転送します~
MVC フレームワークと URL 書き換えは直接関係ありません
通常、フレームワークはシングルエントリーなので、実際に URL 書き換えが簡単になります
ソースコードを確認するには thinkphp をダウンロードしてください
ファイル呼び出し
$m=$_GET['m']?ucfirst(strto lower($_GET['m'])):'インデックス'
$m=$m;
$mod=新しい $m;
$method=$_GET['a']?$_GET['a']:'index';
if(method_exists($m,$method) ){
$mod ->$method();
}else{
echo 'このメソッドは存在しません' }
別のファイルルーティングプロセス
/*
* *** ***** ********************************************** **** *********************/
class Prourl {
/**
* URL ルーティング、PATHINFO 形式に変換
*/
static function parseUrl(){
if (isset ($ _Server [ 'PATH_INFO'])) {
// パス情報を取得
$ PATHINFO = Explode ('/', Trim ($ _ Server ['PATH_INFO'], "/"); _GET['m'] = (!empty($ pathinfo[0]) ? $pathinfo[0] : 'index');
array_shift($pathinfo); // 配列の先頭のユニットを配列の外に移動しますアクションを起こす
$_GET['a'] = (!empty($pathinfo[0]) ? $pathinfo[0] : 'index');
array_shift($pathinfo); //次に、配列 Array の先頭のユニットを移動します
for($i =0; $i
}
}else{
$_GET[ "m"]= (!empty($_GET['m']) ? $_GET['m']: 'index'); //デフォルトはインデックスモジュールです
$_GET["a "]= (! empty($_GET['a']) ? $_GET['a'] : 'index'); // デフォルトはインデックスアクションです
if($_SERVER["QUERY_STRING"]){
$ m=$_GET ["m"];
unset($_GET["m"]); // 配列から m を削除します
$_GET["a"]); /配列から a を削除します
$query=http_build_query($_GET); // 0=foo&1=bar&2=baz&3=boom&cow=milk 形式を作成します
// 新しい URL を作成します
$url=$_SERVER[" SCRIPT_NAME"]。 "/{$m}/{$a}/".str_replace(array("&","="), "/", $query);
header("Location:"
}
) }
}
}
どういたしまして! !
フレームワークを書いていないので、素通りします
1. 単一のエントリ メソッドを作成します
2. ベース コントローラーとパラメーターを通じて、対応するコントローラーとメソッド名を制御します。例: c はコントローラー、m はメソッド
3. オブジェクト指向を通じてクラスを自動的にロードします。
4. MVC 開発フレームワークを使用したい場合は、smarty をカーネルとして使用できます。
5. データベース ドライバーが必要で、最後に他のクラスが継承する保護クラスを作成できます。
6. さらに、開発者が使いやすくするために、一部のコンポーネントとウィジェットをフレームワークに統合する必要があります。通常、ウィジェットはビューによって使用されます。