PHP - 包含文件没有不变的变量?
问题描述:
是否有可能包含(或者,为我的用途,运行)另一个PHP文件从一个PHP脚本而不继承父脚本中设置的变量?我知道这大部分可以通过wrapping the include in a function来实现,但这种感觉很sl。。PHP - 包含文件没有不变的变量?
有没有更优雅的选择?
答
不幸的是,在写这篇文章的时候,看起来你想包含在函数或方法中的东西是实现这一点的唯一方法。
答
在包含私有变量的文件中创建变量。这样它们只被包含在你想要继承函数的文件中。这是解决问题的更简洁的方法。
+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);
}
包含将继承包含的范围内的任何内容,因此将其封装在函数中真的是解决方案。另一种解决方案是限制您在父脚本中创建的全局变量的数量。如果他们不应该被暴露在各种各样的包容中,那么他们也许不应该成为全球性的开始。 – 2012-07-13 16:28:38
我实际上没有任何设置全局变量,所以将它包装在一个函数中可以解决问题。我只是希望有一个更具体的功能,或者什么。 :) – Nathanael 2012-07-13 16:29:50
难道你不能只在你的课堂上把它们变成私人变量吗? – Alex 2012-07-13 16:33:20