/* The only dependance is when */ class NuSoap extends CApplicationComponent
我想知道如何使用nusoap 0.9.5在yii 1.1.13中创建基本扩展? 我的简单代码如下所示:
<?php
require("libs/nusoap-0.9.5/lib/nusoap.php");
// namespace
$ns = "https://my-namespace-site";
// client
$client = new soapclient('https://ip-to-webservice-server');
// header
$headers = "<credentials><ns1:username xmlns:ns1=\"$ns\">username</ns1:username>
<ns2:password xmlns:ns2=\"$ns\">password</ns2:password></credentials>";
$client->setHeaders($headers);
// searching
$params = array(
'local_user_array' => array(
'limit' => 10
)
);
$result = $client->call('local_users_search', $params, $ns );
if( $client->getError() ) {
echo $client->getError();
}
else {
foreach( $result['data'] as $offer ) {
echo "<div>".$offer['firstname']."</div>";
}
}
?>
我的代码完美无缺。现在,我可以在yii中使用$result
来在视图中显示结果吗?
最佳答案将是文件结构和代码以及有意义解释的具体示例。
非常感谢任何帮助。感谢您的帮助。我很期待它; - )
PS:请不要引用yiiframework网站的任何链接,因为它也没有多大帮助,因为我也知道如何搜索。
答案 0 :(得分:3)
创建一个从CApplicationComponent扩展的类。
class NuSoap extends CApplicationComponent
{
protected $params = array();
protected $client, $ns;
public function init() {
require("libs/nusoap-0.9.5/lib/nusoap.php");
$this->client = new soapclient('https://ip-to-webservice-server');
$this->ns = "https://my-namespace-site";
}
public function getResults() {
$results = $this->client->call(
'local_users_search',
$this->params,
$this->ns
);
return $results;
}
public function setParams(array $params) {
$this->params = $params;
}
// whatever other methods you need for it to work
}
然后在你的主配置文件中,在components数组下:
array(
'nuSoap' => array(
'class' => 'application.components.NuSoap' // name your class NuSoap.php
)
......
)
确保还在main.php配置文件中导入了应用程序/组件或应用程序/扩展目录。将您的类文件放在NuSoap.php的application / components或applcation / extensions目录中。
您现在可以在Yii应用中的任何位置引用您的组件:
Yii::app()->nuSoap->setParams($params);
$results = Yii::app()->nuSoap->getResults();
这应该足以让你开始朝着正确的方向前进。 Yii文档对于理解应用程序组件的工作方式非常有帮助,但由于您不想阅读它,您只需要猜测一些事情。如果你想使用Yii,那么避免阅读文档是完全没有意义的。