php调用对象
Ⅰ php怎么请求soap。其中要调用的那个方法的参数是这个方法的对象参数。到底该怎么调用。
header('Content-Type: text/html; charset=UTF-8');
//链接
$http='http://xxxxxx?wsdl';
//参数,很重要,之前搞的时候一直传不了参数过去,原来是这样的,搞死我了
$params=array('string'=>'xxx','string1'=>'xxxx');
$client = new SoapClient($http,array('encoding'=>'utf-8','cache_wsdl' => 0,'compression'=>true));
$client->soap_defencoding = 'utf-8';
$client->xml_encoding = 'utf-8';
//请求返回的数据
$return = $client->$fun($params);//parameters
Ⅱ 关于php的对象和引用!!
要理解这个问题,关键是要理解php的赋值机制。其实就是四个字:“写时拷贝”。如下图,当把a的值赋给b,a和b的关系属于两个变量指向同一内容。但是当其中一个变量赋值为不同于当前内容的值时,才会重新分配一块内存来保存不同的变量,此时两个变量的指向内容变成两个,即所谓“写时拷贝”。
如果理解了“写时拷贝”的概念,我们继续。在以下代码后,继续增加一次输出。
classA{
public$foo=1;
}
$a=newA;
$b=$a;//$a,$b都是同一个标识符的拷贝
//($a)=($b)=<id>
$b->foo=2;
echo$a->foo." ";
$b = 3;echo $a->foo;// 此为新增代码。根据写时拷贝原理,此时a仍指向对象内容。而b被赋值为3,因此b指向内容为3。
如果到此还没被搞蒙,继续进一步。
通过“&”赋值,跟以上赋值是有区别的,属于一块内存地址,拥有两个不同名称的情况。也就是说,其一改变,另一个会跟着改变。在以下代码后,继续增加一次输出。
$c=newA;
$d=&$c;//$c,$d是引用
//($c,$d)=<id>
$d->foo=2;
echo$c->foo." ";
$b = 3;echo $a->foo;// 此为新增代码。此时a和b的值都指向3这个值,会报一个不是对象的错误,如果直接输出a或b会发现,两个变量的值都是3。现象请自行验证。
Ⅲ php类如何使用外部对象
这个。。。。貌似实现不了
不知道你具体要做什么
你还是在类中实例那个对象的类好了
<?php
class a
{
function say()
{
echo 'b';
}
}
class b
{
function test()
{
$a = new a();
$a->say();
}
}
$b = new b();
$b->test();
你的pdo对象应该在整个项目都是不变的吧?你想调用已经实例化的对象的话 一般数据库类是个单例模式。
比如这样
你的pdo类中加上这个单例模式方法
class database
{
private static $_instance;
public static function getInstance()
{
if(!isset(self::$_instance))
{
self::$_instance = new self();
}
return self::$_instance;
}
}
然后在你的登录类里面直接调用这个类的这个方法
如果已经实例化了 就用原来那个对象,没有的话重新生成这个对象。
Ⅳ php创建一个类,在类中声明一个数组存放另一个对象,为什么无法调用数组中对象的方法
//新建一个类User用来存放这,三个数据
//结果放到一个User数组中,你看这可以吗?
//还是说要放到一个list中?
public class ObjectTest {
public static void main(String[] args) {
String[] id = new String[8];
String[] type = new String[8];
String[] username = new String[8];
User[] users = getUsers(type, id, username);
}
private static User[] getUsers(String[] type, String[] id, String[] username) {
User[] users = new User[type.length];
for (int i = 0; i < type.length; i++) {
users[i] = new User(id[i], type[i], username[i]);
}
return users;
}
}
class User {
public User(String id, String tpye, String username) {
this.tpye = tpye;
this.id = id;
this.username = username;
}
private String tpye;
private String id;
private String username;
public String getTpye() {
return this.tpye;
}
public String getId() {
return this.id;
}
public String getUsername() {
return this.username;
}
public void setTpye(String tpye) {
this.tpye = tpye;
}
public void setId(String id) {
this.id = id;
}
public void setUsername(String username) {
this.username = username;
}
}