【问题标题】:php include file globally within a series of functionsphp 在一系列函数中全局包含文件
【发布时间】:2016-01-02 13:15:46
【问题描述】:

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

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

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

 function2() {

   return $db->anotherfunction;
 }

它似乎不想工作!

【问题讨论】:

    标签: php function include


    【解决方案1】:

    在 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
    

    【讨论】:

      【解决方案2】:

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

      这是它的工作原理:

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

      【讨论】:

        猜你喜欢
        • 2017-01-15
        • 1970-01-01
        • 2011-03-28
        • 2011-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多