モバイル インターネットの普及に伴い、携帯電話によるアクセスをサポートする必要がある Web アプリケーションが増えているため、多くのサイトには、ユーザーがモバイル デバイスでアクセスしやすいように専用の WAP サイトが用意されています。しかし、URL を介して WAP サイトにアクセスするのはあまりフレンドリーではなく、通常、URL には「wap.php」などのサフィックスが付いており、ユーザーにとっては迷惑です。この記事では、WAPサイトをより使いやすくするために「wap.php」を非表示にする方法を紹介します。
1. はじめに
thinkphp は、オープン ソースの PHP フレームワークです。オブジェクト指向プログラミングに基づいており、MVC 設計パターンに大きく依存しています。ORM をカプセル化します。レイヤーを作成してデータ ソースを接続し、Web アプリケーションを迅速に開発します。 WAP レイアウトをサポートする必要がある thinkphp アプリケーションの場合、「wap.php」を非表示にすることは、ユーザー アクセス エクスペリエンスを向上させる効果的な方法です。
2. アイデア分析
thinkphp フレームワークでは、URL アドレス マッピングとルーティング ルールがコアのルーティング コンポーネントを担当します。したがって、ルーティング ルールを変更し、「wap.php」サフィックスを非表示にすることで、WAP サイトの URL をフレンドリーにするという目的を達成できます。具体的な実装方法は次のとおりです:
1. App/Conf/config.php ファイルを変更します:
'URL_ROUTER_ON' => true, 'URL_ROUTE_RULES' => array( 'wap' => 'Index/Wap/index', ':action' => 'Index/:1', ),
2. Wap モジュールを作成し、モジュールに対応するアクションを変更します:
class WapAction extends Action { public function _empty() { $this -> display('Index:index'); } public function index() { $this -> display(); } }
3. 実装手順
1. Wap モジュールの作成
thinkphp では、アプリケーションは複数のモジュールを構築できます。モジュールは独立したディレクトリであり、独立したビューとコントローラーが含まれています。次のコマンドを実行すると、Wap モジュールを作成できます。
php thinkphp.php -m -a Index -s Wap
このコマンドを実行すると、アプリケーション ディレクトリに Wap ディレクトリが作成され、このディレクトリに Index コントローラが作成されます。このコントローラーの名前を WapController.class.php に変更する必要があります。
2. App/Conf/config.php ファイルを変更します
設定ファイル内のルーティング ルールを変更し、「wap」を Wap モジュールの Index コントローラーにマップします。
'URL_ROUTER_ON' => true, 'URL_ROUTE_RULES' => array( 'wap' => 'Wap/Index/index', ':action' => 'Index/:1', ),
このとき、ユーザーが「http://example.com/wap」にアクセスすると、WapモジュールのIndexコントローラーのindexActionメソッドが呼び出されます。
3. Wap モジュール コントローラーを変更する
Wap モジュールの Index コントローラーを変更して、「wap.php」サフィックスを非表示にします。まず、_empty() メソッドを通じて、存在しないメソッドをすべてインターセプトする必要があります。指定されたメソッドが Wap モジュールに存在しない場合、_empty() メソッドで指定された結果が実行され、指定されたテンプレート ファイルのレンダリングに戻ります。例:
class WapController extends Controller { protected $is_wap = true; public function _empty() { $this -> display('Index:index'); } public function index() { $this -> display(); } }
メソッドが存在しない場合、_empty() が実行され、Index:index テンプレートがレンダリングされます。
4. 概要
thinkphp フレームワークのルーティング ルールとモジュール コントローラーを変更することで、「wap.php」サフィックスを非表示にし、使いやすさを向上させることができます。 WAP サイトの URL の度合いにより、ユーザー エクスペリエンスが向上します。存在しないメソッドをインターセプトすることで、エラー処理を実現し、サイトがクローラーによってクロールされるのを防ぐこともできます。
以上がthinkphp で wap.php を非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。