私は何年もの間phpプログラマーでしたが、今はOOPに入ったばかりです。これまでのところ、ItemとListの2つのクラスがあります(ここでは単純化しただけで、実際のクラス名ではありません)。すべてのデータは、SOAPを使用してWebサービス経由でアクセスされます。
SOAPクライアントを取得し、それを複数のクラスで使用することを実装するのが最善の方法かどうかはわかりません。たとえば、WSDLはaddItem関数とgetList関数を定義します。また、トランザクションごとにサービスにトークンを送信する必要があります。
すべてのクラス内に新しいSoapClientを定義する必要がありますか?そのようです:
class Item {
// item properties
function addItem($itemName) {
$client = new SoapClient('myfile.wsdl');
$client->addItem($itemName);
//service returns true or false
}
}
class List {
function getList($listName) {
$client = new SoapClient('myfile.wsdl');
return $client->getList($listName);
//service returns array
}
}
または、個々のクラスの外部に新しいSoapClientを作成し、それぞれで同じクライアントオブジェクトを使用する方法はありますか?