興味深い問題に取り組むだけで、それを正しく行う必要があります。
あなたの質問に答えるには:
1) $_SESSION は、アプリで永続的な動作を構築するために使用されます。つまり、リクエスト間でデータを渡すことができます。シリアル化できるものはすべて、文字列としてシリアル化され、ファイルに書き込まれます。要求されると、データはそのファイルからシリアル化解除され、$_SESSION 配列に再構築されます。セッションの詳細については、こちらをご覧ください。
2) いいえ、適切な Content-Type などを使用して (PHP スクリプトから) 有効な文字列を返す限り。「ajax データ」は、PHP スクリプトから単純にエコーされた文字列です。ヘッダーを適切に設定します ex:header('Content-Type: text/javascript');
エコーする前に。
コンテンツ タイプに関する注意: 反対側で何を達成したいかによって異なります。jQuery を使用していて、それを使用してクライアント側のロジックを構築する場合は、おそらく JSON を送信する必要があります。この場合、コンテンツ タイプを「application/json」である「適切な」タイプではなく、「text/javascript」に設定することをお勧めします。Internet Exploder と Firefox では、ブラウザーが application/json と混同されるという問題がよくありました。JSONはjavascript(表記)であるため、「text/javascript」で常に期待どおりに機能します。
include_path
特定のニーズに合わせて微調整できる素敵な ini ディレクティブ " " があります。便利な関数はset_include_path()とget_include_path()です。この2つだけで驚くべきことができます。
PHP のファイルは、「include_path」ディレクティブの順序でインクルードされます。ファイルを含める/要求する際に柔軟性を高めるには、最もよく使用される 3 つのプラクティスを検討してください。
- ファイル構造で include_path を設定します
- ファンシーなオートローダーを構築します ( spl_autoload機能を参照) 。
- 5.3+ のみ、名前空間を使用
誰もが「適切な方法」やその他の不十分な言い訳で物事を吹き飛ばす傾向があるため、最近include_path
はあまり人気がありません. 別の Facebook、Twitter、または Youtube 用のアプリを作成しない場合は、include_path を検討してください。シンプルで、非常に強力です (肥大化した手法を使用する代わりに)。
構造を計画し、次のようにディレクトリを追加します。
<?php
// somewhere at the very top of your entry script
set_include_path(implode(PATH_SEPARATOR, array_merge(array(
'/path/to/app/dir1',
'/path/to/app/dir2',
'/even/path/outside/your/app',
// ...
), explode(PATH_SEPARATOR, DEFAULT_INCLUDE_PATH))));
?>
これにより、php.ini ファイル (DEFAULT_INCLUDE_PATH) に設定されている現在のパスが結合されます。
スクリプトを含める/要求すると、このリストの順序で含めようとします。
長い説明で申し訳ありません。それが役に立ったことを願っています;)