我很抱歉这可能是一个简单的问题,但我在网上找不到任何相关信息。我有两个课程,为了这个帖子的目的,我们称他们为用户和地址,如下所示:
class user {
public $firstName;
public $lastName;
public $address;
}
class address{
public $streetAddress;
public $streetName;
public $city;
public $state;
public $zip;
}
在这种情况下,我希望用户类中的$ address参数的类型为" address"由第二类定义。我可以用PHP做到这一点吗?我的最终目标是能够使用这样的属性:
$userZip = $user->address->zip;
我是在正确的轨道上还是离开了?
答案 0 :(得分:0)
$address = new $address();
我相信这就是你要找的东西。
在PHP中,变量类型由它们分配的数据定义。如果你希望类1中的$ address是$ address(类2)类型,那么你所要做的就是将它分配给$ address的实例,它将采用该类型。然后,您可以使用以下命令访问任何$ address属性:
$user->address->zip
简而言之,是的,你走在正确的轨道上。考虑在您的类中添加构造函数。
答案 1 :(得分:0)
试试这个;
<?php
class user {
public $firstName='bulent';
public $lastName ='kocaman';
public $address;
public function __construct()
{
$this->address = new address();
}
}
class address{
public $streetAddress=1;
public $streetName=2;
public $city=3;
public $state=4;
public $zip=5;
}
$user = new user();
print_r($user->address->zip);
?>
或
<?php
class user extends address{
public $firstName='bulent';
public $lastName ='kocaman';
}
class address{
public $streetAddress=1;
public $streetName=2;
public $city=3;
public $state=4;
public $zip=5;
}
$user = new user();
print_r($user->zip);
?>