我正在开发一个俱乐部成员(member)注册网络应用程序,在 oop 方面我是一个相当新手。我遇到的问题是我需要在类外部调用一个函数,但我知道你不能在 PHP 中这样做,我需要以某种方式解决它。
此代码将演示我的问题所在:
成员.php
class member {
private $id;
private $member_num;
private $name;
...
...
public function __construct() {
$a = func_get_args();
$i = func_num_args();
if (method_exists($this,$f='__construct'.$i)) {
call_user_func_array(array($this,$f),$a);
}
}
private function __construct1($f_id) { // Construct object by id-number
// Code to retrieve the data from database
}
我已经在名为 database_functions.php 的单独文件中编写了数据库操作代码,但我无法将该文件包含在类中。 我需要知道的是如何访问这些函数而不必在类中再次编写它们?(我以前用 VB.Net 编写过应用程序,我可以在其中使用当前项目的函数在类中。)
最佳答案
您可以将一个类扩展到另一个类,以访问子类中的父类函数和属性。不能像那样访问声明为私有(private)的函数。您还可以将另一个类的对象作为构造函数的参数传递给一个类。
如果你有一个类名 parent :
class parent{
// properties and methods
}
如果你将它扩展到你的类,你就可以访问它的功能:
class child extends parent{
// code
}
或
$parent = new parent();
$child = new child($parent);
然后在子类中你可以使用:
function __construct($parent) {
$this->connection = $parent;
}
然后在子类的其他函数中,您可以使用以下方法访问父类的方法
$parent->connection->function_name()
关于PHP - 类调用类外的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604857/