【问题标题】:PHP require once class methodPHP需要一次类方法
【发布时间】:2016-08-27 16:50:06
【问题描述】:

我有一个文件(file.php),其中require_once 一个文件,其中初始化了所有对象(init.php)。此文件(file.php)与 init.php 位于同一文件夹中。他们之间的沟通是正常的。但后来我有一个文件(file2.phprequire_once init.php,它不在同一个文件夹中(../.. /file2.php)。 require_once 是正确的,但是当我尝试调用方法 $db->select(...) 时出现错误:

`Call to a member function execute() on boolean in.

但是当我将相同的代码放入 file.php 时,一切正常。

初始化.php

<?php
require_once 'class/Database.php';
require_once 'class/UserRegister.php';
require_once 'class/Utility.php';
require_once 'class/AccountValidate.php';

$configs = include 'config.php';

$db = new Database($configs);
$db->Connect();


$utility = new Utility();

?>

file2.php

<?php 
require_once '../../php/init.php';
$db->select(array("*"),"users","username","=","test"); //not working ?>

【问题讨论】:

  • 贴一些代码,我们看不到未来,让我们看看你做了什么。

标签: php require


【解决方案1】:

file2.php 中使用 require_once 时,使用 FILE 的相对路径:

require_once(dirname(__FILE__)."/../../init.php");

如果你在 init.php 中使用 require_once(),你也应该这样做,例如,如果你在 init.php 的同一目录中调用“database.php”包含

...
require_once(dirname(__FILE__)."/database.php");
...

【讨论】:

    猜你喜欢
    • 2014-01-25
    • 1970-01-01
    • 2011-02-14
    • 2011-12-13
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多