Yii框架webservice 在一个控制器/动作中使用多个方法的解决方案 有更新!

  aluaa

    Yii的webservice是强大的,但是官方文档太垃圾,Api看了和没看一样,百度google的搜索提供不了任何帮助。所以我一定要记录下来,好让后来者不再浪费时间探索。

    首先,跟着官方文档一步步走,你肯定可以写出你的webservice,唯一要注意的注释他也强调了。

    第二,就是返回对象数组的时候,最好不要用他提供的方式,应该返回string类型,return的时候用CJSON::ENCODE()方法把对象数组变成json数组,然后以字符串形式发送。

    客户端接收的时候再用CJSON::DECODE()得到一个数组 。

    第三,如果是单个对象,同样可以使用上面的方法,转化为string发送,客户端接收再返回数组,数组在转化为对象即可。如果直接用object类型发送过来,得到的是stdclass对象,这个对象不能直接使用,怎么使用请百度.到处都是.

    第四,官发只在一个控制器/动作中定义了一个方法,那如果再定义一个方法,你肯定是调用不到的,他会报错:这个function是无效的。那总不能一个控制器/动作只能写一个方法吧?解决办法就是:客户端调用的时候,在url参数后面加一串随机数…这样就能调用一个控制器/动作里的多个方法了!