0

現在、標準の PHP を使用してアプリケーションを開発しています。そのため、フォームから呼び出されるさまざまな関数があります。いくつかの例には、登録、ログイン、ログアウトなどが含まれます。

関数ごとに個別のファイルを作成するのではなくphpscripts.php、includes フォルダー内のファイルを使用しています。HTML 入力から関数を実行するには、URL に?action=functionName. S_GET['action']スクリプト ファイル内で、スイッチ/ケース ツリーを使用して、変数に基づいて適切な関数を実行します。

PHP 関数への HTML 呼び出しを実装するより良い方法はありますか?

4

2 に答える 2

1

いいえ、それはHTMLフォームをPHPスクリプトとインターフェースする正しい方法です。他の選択肢としては、URL書き換え(のようなものをに変換する/actions/functionname/paramため?action=functionname&param=x)を採用することが含まれますが、基本的な原則は同じです。

于 2012-06-04T19:59:17.503 に答える
1

あなたの正気のために...上記のようなすべてのリクエストを処理する1つのスクリプトを持つことを検討してください。/process_action.php のようなもの。関数が存在することの確認、ログインしているユーザーの確認、データベースへの接続、共有リソースの作成などの統合アクションを処理します...

Apache を使用している場合は、mod の書き換えを使用して URL をきれいにすることができます。あなたは回すことができます

/actions/function/?restofquery

の中へ

/process_action.php?action=function&restofquery

Web サイトの .htaccess ファイルに配置された次のようなものを使用します。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/actions/([-_a-zA-Z0-9]+)/?$ /process_action.php?action=$1&%1 [L]

補足として、あなたの質問は、モデル/ビュー/コントローラー (MVC)を発見する寸前のように聞こえます。優れたフレームワークがいくつかありますが、独自のフレームワークを作成することを思いとどまらせないでください。行うことによって学びます :)

于 2012-06-04T20:08:26.303 に答える