加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为什么将变量传递给类而不是方法

发布时间:2020-12-13 21:50:59 所属栏目:PHP教程 来源:网络整理
导读:我想知道将参数传递给类而不是方法有什么好处. 在代码方面,这样做有什么好处: $books = new Books($book_id,$book_name); 代替 $books = new Books;$books-setBook($book_id,$book_name); 谢谢! 解决方法 “通过课堂”不是一件事. new Foo($bar,$baz)正在
我想知道将参数传递给类而不是方法有什么好处.

在代码方面,这样做有什么好处:

$books = new Books($book_id,$book_name);

代替

$books = new Books;
$books->setBook($book_id,$book_name);

谢谢!

解决方法

“通过课堂”不是一件事. new Foo($bar,$baz)正在实例化一个新对象,并将参数传递给构造函数方法:

class Foo {

    public function __construct($bar,$baz) {
        ...
    }

}

将参数传递给常规方法和构造函数之间没有区别.唯一的区别是在实例化对象时调用构造函数,并且以后随时调用其他方法.

您应该将参数传递给构造函数,该构造函数在构造时需要对象.通常,这意味着您传递对象完全可用的参数.如果构造函数不喜欢参数,则它可以抛出异常,这意味着对象根本无法实例化.这可以保证对象处于已知的一致状态.相比:

$api = new FooAPI($id,$password);
$api->doSomething();

$api = new FooAPI;
// $api->setId($id);
// $api->setPassword($password);
$api->doSomething();  // Error! No id and password given

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读