【发布时间】:2015-09-28 21:35:55
【问题描述】:
假设我有两个 PHP 类:User & Connection。
从他们的名字可以看出他们的所作所为。
现在假设我有这个代码:
User.php
<?php
class User {
static function get_email( $user_id ) {
$conn_object = new Connection();
$connection = $conn_object->connection;
// do stuff with the connection object
}
}
?>
Connection.php
<?php
class Connection {
public $connection;
public function __construct() {
$this->connection = // connect to the database here
}
}
?>
main.php
<?php
require "Connection.php";
require "User.php";
$email = User::get_email( 4 ); // this doesn't work
?>
当我在main.php 中做类似的事情时,我得到了一堆错误。当我在User.php 文件中var_dump( $conn_object ); 时,我总是得到一个null,就像该文件甚至没有“看到”Connection 对象,或者知道它存在。
但是,当我直接在main.php 中使用Connection 类时,我没有收到任何错误,并且一切运行顺利。这意味着我的 Connection 对象没有任何语法错误或其他问题。
这种事情在PHP中是不允许做的吗?语言不允许在类中使用类吗?
【问题讨论】:
-
提供这些错误。您的代码运行没有错误。
-
删除了所有的“帮助”和“感谢”句子