在我的 php 项目中我创建了 4 个类
联系
class Mysqliconn {
public $mysqli;
public function __construct(){
include "dbconfig.php";
$this->connect($host, $user, $password, $database, $charset);
}
public function connect (.....)
$this->mysqli = new mysqli(......);
}
}
UPLOAD
class Upload {
private $db;
public function __construct( Mysqliconn $db ) {
$this->db = $db;
}
public function getID($id) {
echo $id;
}
}
USERS
class Users {
private $db;
public function __construct( Mysqliconn $db ) {
$this->db = $db;
}
public function getName($name) {
echo $name;
}
}
CARS
class Cars {
private $db;
public function __construct( Mysqliconn $db ) {
$this->db = $db;
}
public function getCars($cars) {
echo $cars;
}
}
在我的 php 页面中,我以这种方式实例化类
function __autoload($class_name) {
if(file_exists('class/class.' . strtolower($class_name) . '.php')) {
require_once('class/class.' . strtolower($class_name) . '.php');
}
else {
throw new Exception("Unable to load $class_name.");
}
}
$db = new Mysqliconn();
$up = new Upload($db);
$us = new Users($db);
$cs = new Cars($db);
$cs->getCars('BMW');
$us->getName('Foo');
在我的汽车类中,我想调用用户类和上传类的方法。
可以做吗?我怎么能这样做呢?谢谢。
class Example{
public function __construct(){
$otherClass = new OtherClass();
$otherClass->functionInOtherClass();
}
}
or
class Example{
public function __construct($objFromOtherClass){
$objFromOtherClass->functionInOtherClass();
}
}
or
class Example{
public function __construct(OtherClass $objFromOtherClass){
$objFromOtherClass->functionInOtherClass();
}
}
如果有问题的对象将在您的整个过程中使用Example
class:
class Example{
protected $objFromOtherClass;
public function __construct(OtherClass $objFromOtherClass){
$this->objFromOtherClass = $objFromOtherClass;
}
public function test(){
$this->objFromOtherClass->functionInOtherClass();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)