PHP - 包含文件没有不变的变量?

PHP - 包含文件没有不变的变量?

问题描述:

是否有可能包含(或者,为我的用途,运行)另一个PHP文件从一个PHP脚本而不继承父脚本中设置的变量?我知道这大部分可以通过wrapping the include in a function来实现,但这种感觉很sl。。PHP - 包含文件没有不变的变量?

有没有更优雅的选择?

+1

包含将继承包含的范围内的任何内容,因此将其封装在函数中真的是解决方案。另一种解决方案是限制您在父脚本中创建的全局变量的数量。如果他们不应该被暴露在各种各样的包容中,那么他们也许不应该成为全球性的开始。 – 2012-07-13 16:28:38

+0

我实际上没有任何设置全局变量,所以将它包装在一个函数中可以解决问题。我只是希望有一个更具体的功能,或者什么。 :) – Nathanael 2012-07-13 16:29:50

+1

难道你不能只在你的课堂上把它们变成私人变量吗? – Alex 2012-07-13 16:33:20

不幸的是,在写这篇文章的时候,看起来你想包含在函数或方法中的东西是实现这一点的唯一方法。

在包含私有变量的文件中创建变量。这样它们只被包含在你想要继承函数的文件中。这是解决问题的更简洁的方法。

+0

您不能在全局范围内将变量设为私有,没有任何意义。 – 2012-07-18 11:38:36

将include命令包装到include函数中。

<?php 
    //Führt die Cronjobs aus 
    set_time_limit(30); 

    /** Alle Dateien mit _cronjob am schluss sollen minütlich ausgeführt werden.*/ 
    $files = scandir(__DIR__ ."/cronjob"); 

    foreach($files as $file) { 
     if($file == "." || $file == "..") continue; 
     include_easy(__DIR__ ."/cronjob/". $file); 
    } 

    //Damit die variablen nicht überschrieben werden, wird das include über eine funktion gemacht. 
    function include_easy($pfad) { 
     include($pfad); 
    }