私はWebベースのカウンターパートと会話する簡単なAPIクラスを持っています。 すべて正常に動作し、1つの変数だけが保存されることを拒否します。変数を保存していないphpクラス
私はクラスの先頭に初期化$スコープと呼ばれる変数、持っている:私は、JSONなどのWebスクリプトからAPI経由でスコープを取得しています
class Api {
private $scope;
public function set_scope($s) {
$this->scope = serialize($s);
return true;
}
private function get_scope() {
return unserialize($this->scope);
}
}
次に、私は(配列としてそれをjson_decode 2番目のパラメータをtrueとします)、その形式でset_scope()関数に渡します。
私は10000000%のAPIがJSONを返すことを確かめています。var_dumpを実行すると、適切な配列データが返されます。
何らかの理由で、そのデータは$ scope変数に保存されません。
アイデア?
編集#1:
私は別の関数では、クラス内の関数を呼び出すget_scope
。私はその変数を直接設定しようとしていたので、ちょうど$this->scope=$scope
を使用しても、成功しませんでした。私は他の変数を保存/取得するために同じ構造化関数を使用しますが、これ以外はすべてが機能しています。
その他の機能は、次のようになります。
public function get_modules() {
$av_modules = $this->available_modules;
$scope = $this->get_scope();
var_dump($scope);
foreach($scope as $mod) {
$av_modules[$mod] = true;
}
return $av_modules;
}
http://stackoverflow.com/help/mcve – Evert
私はあなたがそれを設定するときに値を 'serializeする 'と、値を取得するときに' unserialize'するのはなぜでしょうか。それはむしろ余計なことではありませんか? – deceze
私はそれを保存する様々な方法を試していますが、 '$ this-> scope'を使っても値を保存することはできません。なぜ –