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

php include file globally within a series of functions

我正在编写一个模板,它将具有一系列函数,其中几个函数将访问同一个包含文件,该包含文件访问一系列 类。我的想法是

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

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

 function2() {

   return $db->anotherfunction;
 }

好像不想用!

在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

$db 是一个全局变量。如果你想在 PHP 中的函数中访问全局变量,你需要用 "global" 声明它。另外,我不确定你到底想实现什么,但如果你想 return 一个方法与你的函数你应该使用参考。

它应该是这样工作的:

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