ホームページ > 記事 > PHPフレームワーク > PHP workmanの擬似静的変換の詳細説明
1. \vendor\workerman\workerman\WebServer.php の 176 行目を見つけて、以下の内容に変更し、html 拡張子ファイルが存在しないとの判定を強化します
if (in_array($workerman_file_extension,['php','html']) && !is_file($workerman_file)) { $workerman_file = "{$workerman_root_dir}/index.php"; $workerman_file_extension = 'php'; if (!is_file($workerman_file)) { $workerman_file = "{$workerman_root_dir}/index.html"; $workerman_file_extension = 'html'; } }
これ以降、拡張子htmlのファイルにアクセスした場合、そのファイルが存在しない限り自動的にindex.phpにリダイレクトされ、index.phpで判断されます
# 2.index.phpの修正、ページを出力する前に以下の判定を追加します。//重定向判断 $uri=$_SERVER['REQUEST_URI']; $ext=strtolower(substr($uri,-4,4)); if(is_cli()&&$ext=='html'){ $_GET['_']=substr($uri,1,strlen($uri)-5); }たとえば、アクセスするアドレスはhttp://c.com/Users_login.html、つまりアクセスインデックスです。 .php?_=Users_login3. $_GET['_'] に従って、アンダースコアを区切って、どのクラスとクラス メソッドをロードするかを決定します。例:
$_GET['_']=isset($_GET['_'])?$_GET['_']:strcode('Index_index'); $strs=strcode($_GET['_'],'DECODE'); if(!$strs)xdie('param error.'); $d=preg_split('/[\.\_]/',$strs); if(count($d)<2)xdie('error:param'); $class=$d[0].'Action'; $action=$d[1];クラスをロードして実行するだけです。 ワーカーマンの詳細については、PHP 中国語 Web サイトの
ワーカーマン チュートリアル 列に注目してください。
以上がPHP workmanの擬似静的変換の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。