0

WSDL (および NuSOAP) を使用して、別のサーバーから利用可能な製品リストとその価格を取得する必要があります。

ビューは必要ありません (コントローラーも必要ないと思います)。そこで、テーブルのないモデルを作成します (サーバー データを保存したくないため)

App:import('Vendor', 'path_to_nusoap.php')モデルファイルの先頭で使用します。

私のモデルを見てみましょう:

<?php
App::uses('AppModel', 'Model');
App::import('Vendor', 'nusoap' . DS . 'nusoap.php');
/**
 * MyModel Model
 *
 */
class MyModel extends AppModel {
    public $useTable = false;

    public $client = new nusoap_client('url', 'WSDL');

    public function products(){
        $products = $client->call('getProductsList');
        ////
        return $products;
    }
    public function prices(){
        $prices = $client->call('getPricesList');
        ////
        return $prices;
    }
}

しかし、それはエラーを引き起こします (その行で: public $client)

さて、質問:

  1. そのエラーを解決する方法は?(契約者機能を使用しますか?)
  2. モデルでこの関数を使用するのは間違っていますか? (コントローラーの代わりに)

私のひどい英語でごめんなさい。ありがとう。

4

1 に答える 1

0

メソッド スコープの外にオブジェクトを作成することはできません。

コンストラクターを使用します。

public $Client;

public function __construct() {
    $this->Client = new nusoap_client('url', 'WSDL');

}

public function products() {
    $products = $this->Client->call('getProductsList');
    return $products;
}
于 2012-07-18T10:56:07.230 に答える