所以我正在重构我的代码来实现更多的OOP.我设置了一个类来保存页面属性.
class PageAtrributes
{
private $db_connection;
private $page_title;
public function __construct($db_connection)
{
$this->db_connection = $db_connection;
$this->page_title = '';
}
public function get_page_title()
{
return $this->page_title;
}
public function set_page_title($page_title)
{
$this->page_title = $page_title;
}
}
Run Code Online (Sandbox Code Playgroud)
稍后我会调用set_page_title()函数
function page_properties($objPortal) {
$objPage->set_page_title($myrow['title']);
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到错误消息:
在非对象上调用成员函数set_page_title()
那我错过了什么?
我遇到PHP的require_once,require,include_once和include函数没有正确解析文件的问题.我在使用Apache 2.2.11的Windows Vista上运行PHP 5.3.1.
这些是我得到的问题:
file_exists('C:/wamp/www/park_factor_network/system/application/shared/config/language.php')
Run Code Online (Sandbox Code Playgroud)
返回TRUE
is_readable('system/application/shared/config/language.php')
Run Code Online (Sandbox Code Playgroud)
返回TRUE
$fp = fopen('C:/wamp/www/park_factor_network/system/application/shared/config/language.php','r');
$contents = fread($fp, filesize('C:/wamp/www/park_factor_network/system/application/shared/config/language.php'));
Run Code Online (Sandbox Code Playgroud)
返回有效的文件资源并将其存储到$ contents中
然而:
require_once('system/application/shared/config/database.php') or die("Cannot Include Language Config");
require_once('C:/wamp/www/park_factor_network/system/application/shared/config/language.php') or die("Cannot Include Language Config");
Run Code Online (Sandbox Code Playgroud)
返回:
Fatal error: require_once() [function.require]: Failed opening required '1' (include_path='.;C:\php5\pear') in C:\wamp\www\park_factor_network\system\application\shared\hooks\select_language.php on line 25
Run Code Online (Sandbox Code Playgroud)
C:\ wamp\www\park_factor_network\system\application \news_site\hooks是C:\ wamp\www\park_factor_network\system\application\shared\hooks的目录连接
我只是从框架中的某个位置访问此文件时遇到此问题,但是因为这是直接包含或要求它不应该受到那个而且只受PHP的影响?如果我尝试将文件包含在我的设置中的任何其他位置,则可以正常加载.