我不知道如何在搜索引擎中提出這個問題。調用其他類方法而不包含/需要的類方法?
我有點困惑如何使用其他類的方法沒有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