我正在学习并试图理解有关 oop 的事情,所以我的问题可能听起来很愚蠢。
我希望能够像这样直接访问一个对象:
$some_urls = new some_urls;
print_r($some_urls->url()->illegal);
我必须在函数内部添加(object)
之前的每个array()
还是有更有效的方法?谢谢,如果是重复的问题,我很抱歉,我找了很长时间。
class some_urls
{
public function url()
{
return (object)array(
'illegal' => (object)array(
'a_path',
'another_path'
),
'legal' => (object)array(
'a_path',
'another_path'
)
);
}
}
编辑:我想我根据这里的一些想法找到了一个更好的选择。你认为这更好吗?
$some_urls = new some_urls;
print_r($some_urls->get_url('illegal'));
class some_urls
{
public function get_url($data)
{
$url = $this->url();
return $url[$data];
}
protected function url()
{
return array(
'illegal' => array(
'a_path',
'another_path'
),
'legal' => array(
'a_path',
'another_path'
)
);
}
}