0

ページにいくつかのリンクがあり、そのすべてが PHP で別のメソッドを実行する必要があります。「ファイルの作成」、「ファイルの名前変更」、「ファイルの削除」のリンク。

各ハイパーリンクで PHP コードを実行する唯一の方法は、各ハイパーリンクに異なる PHP ファイルの URL を与えることです。

URL (HREF) を PHP ファイルの SPECIFIC メソッドにリンクする方法はありますか? 動作しないコード行をいくつか示しますが、私が達成したいことを理解するのに役立つかもしれません:

<a href="fileManagement.php::createFile()">Create File</a>
<a href="fileManagement.php::renameFile()">Rename File</a>
<a href="fileManagement.php::deleteFile()">Rename File</a>

また、私は間違ったアプローチを取っていると確信していますが、私はあまりにも多くのPHP初心者であり、よく知ることができません:)

4

4 に答える 4

3

あなたの状況での一般的なアプローチは、fileActionのようなものと呼ばれるGETパラメータを設定し、その値を切り替えることです。そのため、リンクは次のようになります。

<a href="fileManagement.php?fileAction=create">Create File</a>
<a href="fileManagement.php?fileAction=rename">Rename File</a>
<a href="fileManagement.php?fileAction=delete">Delete File</a>

そして、filemanagement.phplogiсは次のようになります。

<?php 
$fileAction = $_GET['fileAction'];
switch ($fileAction) {
    case 'create':
        createFile();
        break;
    case 'rename':
        renameFile();
        break;
    case 'delete':
        deleteFile();
        break;
    default:
        //your default logic here
        break;
}
?>
于 2012-12-02T14:38:43.097 に答える
1

メソッド名を $_GET 値として送信し、次のように対応する関数を実行できます。

HTML:

 <a href="functions.php?method=someMethod">Run some method</a>

PHP:

 <?php
 if (isset($_GET['method'])) {
 $method = $_GET['method'];
 $method();
 }
于 2012-12-02T14:22:36.633 に答える
0

あなたが説明しているのは、MVC フレームワークを使用するための完璧なシナリオです。これらのフレームワークは数多くあり、コードをより適切に整理するのに役立ちます。PHP を使い始めたばかりの場合は、MVC の原理を理解するために、Web でフレームワークといくつかのコード サンプルを確認することを強くお勧めします。

MVC フレームワークを使用する場合、特定のクラス (コントローラー) 内の特定の関数 (アクション) にマップされるルートを定義するだけです。この回答ではあまり詳しく説明しませんが、これらのリソースを参照して開始することをお勧めします。

于 2012-12-03T20:36:30.167 に答える