ベストアンサー
PHPはバックエンドサーバーコードではありませんここではstackexchangeからの優れた説明です
まず、3つの言語が連携していることを理解してください。
- PHP:サーバーによってのみ実行され、リンクのクリック(GET)や送信などのリクエストに応答します。フォーム(POST)。
- HTMLとJavaScript:誰かのブラウザ(NodeJSを除く)でのみ実行されます。
ファイルは次のようになっていると思います。 :
function runMyFunction() {
echo "I just ran a php function";
}
if (isset($\_GET["hello"])) {
runMyFunction();
}
?>
Hello there!
Run PHP Function
PHPはリクエストにのみ応答するため(GET、 POST、PUT、PATCH、およびDELETE($ \_REQUEST経由)。これは、同じファイル内にある場合でも、PHP関数を実行する方法です。これにより、「このユーザーに対してこのスクリプトを実行する必要があるかどうか」というセキュリティレベルが得られます。
ページを更新したくない場合は、を介して更新せずにPHPにリクエストを送信できます。 Asynchronous JavaScript and XML(AJAX)と呼ばれる方法。
これはYouTubeで検索できます。「jqueryajax」を検索するだけです。
引用への完全なリンク:
回答
これを行う最良の方法は、公開することです。サーバー側アプリのコントローラーを介してPHP関数を実行します。JavascriptはAxiosなどのライブラリを使用してメソッドを呼び出すことができます。おそらく次のようになります(これはLaravelishの例です):
//HTML
//JS
var handleClick = function(event) {
axios.get("/endpoint, {
params: {ID: 1234}
})
.then(function(response) {
});
};
//PHP
namespace \App\Http\Controlllers;
use \App\Thing;
use \App\Http\Controllers\Controller;
class ThingController extends Controller
{
public function show($id)
{
return Thing::find($id);
}
}
?>
これ/ endpointのバックエンドへのHTTPリクエストを起動します。ルーターはこれを `ThingController @ show`メソッドにルーティングする必要があります。このメソッドは、データベースから読み込まれたデータ、または渡したいデータを返します。
これにより、必要に応じてJSによって処理される呼び出しからデータが返されます。