[英]How to access a class object from an other class
我的问题是我是否可以从另一个类访问一个类对象,而第二个类却不扩展第一个类:
<?php
class MySQL {
public function query($data){
//do something
}
?>
<?php
class Users {
public function getUser($id){
MySQL::query($data); // or $MySQL->query();
return $something;
}
?>
这可能吗? 还是第二类正在扩展第一类?
如果要像这样访问MySQL::query
,则query
方法应该是静态的。
否则,您需要从MySQL类实例化一个新对象:
class Users {
public function getUser($id) {
//MySQL::query($data); //Static way
$MySQL = new MySQL();
$something = $MySQL->query($mydata);
return $something;
}
}
在依赖注入的世界中,它将看起来像这样:
class MySQL {
public function query($data){
//do something
}
}
class Users {
private $mysql;
public __construct($mysql){
$this->mysql = $mysql
}
public function getUser($id){
$this->mysql->query($data);
return $something;
}
}
$mysql = new MySql();
$users = new Users($mysql);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.