別の AJAX 呼び出しを介して Codeigniter を使用して記述された同じコントローラー内で異なるメソッドを呼び出し、それらの呼び出しの 1 つで 3 番目のライブラリのオブジェクトを作成し、後で 2 番目のメソッドで同じオブジェクト (自動ロードされた SESSION ライブラリ) にアクセスし、2 番目の AJAX 呼び出しを作成しようとしています。 :
Javascript には 2 つの別個の AJAX 呼び出しがあります。
$.post('http://mysite.com/UserController/controllerA',{Param1:x,Param2:y});
$.post('http://mysite.com/UserController/controllerB');
コントローラーは次のようになります。
require_once 'FILEPATH/Thirdlibrary.php';
class UserController extends CI_Controller {
protected $service;
public controllerA{
$varA = $this->input->post('Param1');
$varB = $this->input->post('Param2');
$this->service = new ThirdLibray($varA,$varB);
$this->service->startCall();//Thirdlibrary has method startCall() and stopCall
}
public controllerB{
//I want to refer to the same object $this->service here
$this->service->stopCall();
}
これで、PHP がオブジェクトをロード/訪問するたびに再初期化することがわかりました。どうすればこれを機能させることができますか?
Call to a member function stopCall() on a non-object
(検索とコーディングをすべて行った後、ここでクエリを実行します)