php - 在 PHP 中将对象作为参数传递

标签 php

<分区>

在Java中,我可以直接在参数中传递一个对象

public int foo (Bar bar)
{
    ... call the methods from Bar class
}

那么我怎样才能用 PHP 做同样的事情。谢谢 这是我的代码:

class Photo
{
    private $id, $name, $description;
    public function Photo($id, $name, $description)
    {
        $this->id = $id;
        $this->name = $name;
        $this->description = $description;
    }
}
class Photos
{
    private $id = 0;
    private $photos = array();

    private function add(Photo $photo)
    {
        array_push($this->photos, $photo);
    }
    public function addPhoto($name, $description)
    {
        add(new Photo(++$this->id, $name, $description));
    }
}
$photos = new Photos();
$photos->addPhoto('a', 'fsdfasd');
var_dump($photos); // blank

如果我改变函数添加

function add($name, $description)
{
    array_push($this->photos, new Photo(++$this->id, $name, $description));
}

它工作得很好。那么有什么问题吗?

最佳答案

当然,您可以采用完全相同的方式进行操作,只是语法有所变化:

public function foo(Bar $bar)
{
    // $bar->method()
}

请记住,您只能 type hint对于类和数组。

关于php - 在 PHP 中将对象作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332596/

相关文章:

php - 上传图片,没用

php - 来自 base64 代码的 imagecreatefrompng()?

c# - 使用 AOP 打开和关闭与数据库的连接

php - MYSQL + PHP : It is possible to union results from one table with data provided by an array?

PHPMailer 不包括 Bootstrap 3 的外部 css

php - 是否有易于使用且支持 unicode 的 PHP PDF 库?

php - 如何更改 JavaScript 的输出以直接转到另一个页面而不是警报窗口?

php - PHP Nominatim API 每秒可以响应多少次调用?

php - X-Sendfile具体配置.htaccess问题

PHP list() 分配 - 在分配或任何其他功能之前修剪?