我不知道如何在搜索引擎中提出这个问题。调用其他类方法而不包含/需要的类方法?
我有点困惑如何使用其他类的方法没有include/require。现在我已经在PHP中看到了这一点。来自C++的背景,我必须包括所有的东西才能使用它,所以它有点混乱。
但确定在这里,我们去:
说我有improve_db_connection.php
:
class improve_db_connection
{
protected $_connection;
public function __construct($host, $user, $pwd, $db)
{
$this->_connection = @new mysqli($host, $user, $pwd, $db);
if (mysqli_connect_error()) {
throw new RuntimeException('Cannot access database: ' .
mysqli_connect_error());
}
}
public function getResultSet($sql)
{
$results = new Pos_MysqlImprovedResult($sql, $this->_connection);
return $results;
}
}
的new Pos_MysqlImprovedResult
是Pos_MysqlImprovedResult
类,而不是improve_db_connection的一个实例。在没有声明include
函数包含类Pos_MysqlImproveResult
的情况下,improve_db_connection.php
文件只是知道类在哪里。
是否因为Pos_MysqlImproveResult.php
与improve_db_connection.php
位于同一目录?
这与Zend Framework是一样的。但这些文件在子目录等。我有一个application/modules/SF/models
的课程,它使用application/modules/SF/models/resources
中的另一个课程功能。是否因为这些类的Zend命名约定,Zend只是通过这些文件解析并将它添加到php的__autoload
?
如果它不是一个Zend的应用程序,那么它依然可以使用,这将在一个地方被定义自动加载磁带机脚本文件,并且可以读取它以确定在包括任何必要文件之前检查哪些路径。 – 2010-08-06 07:42:55