PHP包含/ require文件及其中的所有函数

时间:2012-06-11 05:41:05

标签: php

我有一个文件,我包括说:

    require_once("../../constructor/database.php");

$stuff_inside_include_file->doThis() ; //ACCESSIBLE

function createUser(){
   $stuff_inside_include_file->doThat(); //NOT-ACCESSIBLE (object not found)
} 

function deleteUser(){
. ...

如果我将require语句移动到函数的范围内,那么它可以工作。否则,它没有。有更好的解决方案吗?

提前谢谢。

4 个答案:

答案 0 :(得分:1)

您可以尝试:

function createUser($stuff_inside_include_file){
   $stuff_inside_include_file->doThat();
} 

它应该有用,我想。

答案 1 :(得分:0)

最好的解决方案是不创建全局变量,但这也可行:

require_once("../../constructor/database.php");

$stuff_inside_include_file->doThis() ; //ACCESSIBLE

function createUser(){
    global $stuff_inside_include_file;
    $stuff_inside_include_file->doThat(); //ACCESSIBLE
} 

function deleteUser(){
. ...

但实际上......“全球化思考,在当地范围内行动”。

答案 2 :(得分:0)

我认为这是变量不是全局的问题。

e.g。

$i = 10;

function pooppoop() {

    $i = 11;
    #this only sets the local variable i to 11

}

所以你想要一个全球$ i;在你的功能的顶部。显然用您访问时遇到的变量替换$ i。

答案 3 :(得分:-1)

我看起来$ stuff_inside_include_file变量在全局范围内,所以你应该能够这样做:

function createUser(){
   global $stuff_inside_include_file;
   $stuff_inside_include_file->doThat();
}