0

ここで私が尋ねようとしている非常に単純でばかげた質問があります:

私はPHPが初めてで、AJAXによってPHPのクラスの関数だけを呼び出す方法があるかどうか疑問に思っていました.

たとえば、次のようなものです。

$.ajax({
        url:'newPHPClass.php/My_Function_Name'
        ...
});

したがって、php では次のようになります。

<?php
class newPHPClass {
    function My_Function_Name(){

    }
}
?>

なぜこれが必要なのですか?したがって、それほど多くのphpファイルは必要ありません。代わりに、内部にさまざまな機能を持つ単一の php クラスを用意します。見た目がきれいになり、余分なファイルが少なくなります。

以前に ASP.NET MVC C# を使用したことがあります。ASP.NET では、単にコントローラーの名前を AJAX の URL セクションに配置し/、その後に関数の名前 (Global.asax.cs ファイルで変更できます) を配置するだけで済みます。

ありがとう。

4

2 に答える 2

1

まず第一に、AJAX 経由で関数やメソッドを呼び出すのではなく、ページリクエストを送信します。次のような PHP ファイルへの AJAX 呼び出しを行う場合:

<?php
class newPHPClass {
    function My_Function_Name(){

    }
}
?>

何も返されず、そのクラスにスペースを割り当て、リクエストの最後ですぐに破棄する以外はサーバー側で何も起こりません。

あなたの質問に対して: クライアント側 (Javascript) では、クラスとファイルの編成をどのように管理するかは問題ではありません。AJAX 呼び出しで要求されるファイルは 1 つだけです。

関数またはクラスの宣言と、応答を管理するファイルの少なくとも2 つの異なるファイルを作成することをお勧めします。実行と宣言から少し分離する必要があるため、次のようなことは避けます。

class A { ... }
$a = new A;
$a->myMethod();

AJAX 出力に応じて、代わりに次のようなものを使用します。

# class.php
class A {...}

# ajax.php
$a = new A;
$a->myMethod();

最後に、意味がない場合はクラスを使用しないでください。クラス内にグループ化された一連の関数を持つことは、OOP とは感じません。手続き型コードを念頭に置いてクラスを使用していると思います。したがって、代わりに一連の関数を宣言するファイルを使用します。

于 2013-02-18T01:42:25.463 に答える