2009-06-26 10 views
0

人は私のJqueryプラグインを使いたいが、プラグインの標準的な方法であるディレクトリではなく、データベースから画像のリストを取得する。他の人が私のPHPスクリプトにプラグインして変数値を変更できるようにするには?

ajax()関数を使用して&のデータをPHPスクリプトに返すMy Jqueryプラグイン。

phpスクリプトは、getdir()でディレクトリからファイルを取り出し、それらのファイルを配列に追加し、その配列を変数に割り当てます。

人々は、データベースから(scandirを使用してディレクトリからファイルを取得するだけでなく)、変数値を生成することによって、その変数値を作成する機能を要求しました。

他の人が私のPHPスクリプト内の変数値を置き換えることを許可するための良い、安全な方法は何ですか?

理想的には、ユーザーが別のドキュメントに独自のスクリプトを作成できる方法があります(ドキュメントを変更する必要はありません)。ここで

は私のスクリプトの簡単な例である:あなたがAPIを書くに見たいと思うかもしれませんように

HTMLドキュメント

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script> 
$.ajax({ 
    type: "POST", 
    url: "example.php", 
    cache: false, 
    data: { 
     foo: "some_directory", 
      }, 
    success: function(html){ 
    alert(html); 
    } 
}); 
</script> 

PHPドキュメント

<?php 

$foo = $_POST["foo"]; 
$foo = scandir($foo); 
$foo = (explode(",",$foo)); // how can I allow others to change this variable value? 
foreach ($foo as $a) { 
    echo "<p>$a</p>"; 
} 

?> 

答えて

2

ですね。

+1

はい、これは私が恐れていることです:)私はPHPの初心者であり、APIを書くにはさまざまな方法があります。私を始めさせるヒントはありますか? – edt

+0

Upvoted、これは私の最初の考えでした。私は答えを提供するだろうが、私はどのようにAPIを実装するか分からない。 –

+0

私が取り組んでいるアプリケーションのAPIを書こうとしています。正直言って、もし私があなただったら、私はこのサイトに別の質問を掲示します。私はあなたにいくつかの助言を与えることができるかもしれませんが、私は決してAPIを書く専門家ではなく、おそらく別の質問をすると1つ見つけることができます。 –

0

イベントベースのプログラミングを使用します。変数を割り当てる時間が来たら、 "onGetDirAssignVar"という関数が存在するかどうかを検出します。そうであれば、関数を呼び出してその結果を受け入れます。そうでない場合は、デフォルトのパスに従います。

var $foo; 
if (function_exists("onGetDirAssignVar")) { 
    $foo = onGetDirAssignVar(params); 
} else { 
    $foo = array("first","second"); // how can I allow this value to be changed? 
} 

foreach ($foo as $a) { 
    echo "<p>$a</p>"; 
} 
+0

ユーザーがAJAX経由でデータを送信すると、私のPHPスクリプトが実行されます。送信されたデータはオブジェクトリテラルに格納されます。私は次のことを提案していますか?1.ユーザーが値phpファイル名/場所を入力できるオブジェクトリテラルに新しいメンバーを追加します。 2.その値をPHP変数 "onGetDirAssignVar"に割り当てます。 3. "onGetDirAssignVar!= nullの場合、" onGetDirAssignVar "で表されるPHPドキュメントを含める?そして、これは以下に含まれ、既存の変数宣言を上書きするか? – edt

+0

私は本当に混乱しています。オブジェクトのリテラルに格納されていますか?あなたのスクリプトが何をしているかについてより詳細な情報を提供するかもしれないし、あなたの_users_の観点からもっと理解できるものについてより良い答えを出すことが可能かもしれません。 。 – cgp

+0

入力いただきありがとうございます。私はオリジナルの質問をさらに詳細に更新しました。 – edt

関連する問題