php在一系列函数中包含全局文件

时间:2016-01-02 13:15:46

标签: php function include

我正在编写一个模板,它将具有一系列功能,其中一些将访问访问一系列类的相同包含文件。我的想法就像是

<?php
   require_once("myfile.php");
   $db = new classthing();

 function1(){
   return $db->afunction;
 }

 function2() {

   return $db->anotherfunction;
 }

它似乎不想工作!

2 个答案:

答案 0 :(得分:0)

在PHP中,函数在自己的范围内行事。 在你的情况下,你可以用几种方式:

a)将$ db实例作为函数参数传递:

 require_once("myfile.php");
 $db = new Classthing();

 function1(Classthing $db){
     return $db->afunction;
 }
 $a = function1($db); // invocation

b)使用global关键字从全局范围访问变量:

require_once("myfile.php");
   $db = new Classthing();

 function1(){
   global $db;
   return $db->afunction;
 }
 $a = function1(); // invocation

答案 1 :(得分:0)

$ db是一个全局变量。如果要在PHP中的函数内访问全局变量,则需要使用“global”声明它。另外,我不确定你想要实现什么,但是如果你想使用你的函数返回一个方法,你应该使用一个引用。

以下是它应该如何运作:

function &function1(){
global $db;
return $db->afunction;
}