我的helpers.php
文件已通过我require
中的index.php
添加。helpers.php
有点像这样
function one($arg)
{
//do something
}
function two($arg)
{
global $variable1;
global $variable2;
global $flag1;
global $flag2;
//dp something
}
我的观点是根据我在function two
中声明的全局标志生成的。
观点是这样的
if($flag1 && $flag2)
{
//do something
}
elseif($flag1==false)
{
//do this
}
elseif($flag2==false)
{
//do that
}
我有switch
语句在我的index.php
中使用这些函数,然后相应地渲染视图。代码片段是这样的
switch($variable)
{
case "1":
$data = one($variable);
two($variable);
require("../views.php");
break;
case "2":
$data = one($variable);
two($variable);
require("../views.php");
break;
default:
//something
break;
}
我以这种方式获得所需的输出但是如果我在helpers.php
中为我的switch语句编写一个函数来避免大量的复制粘贴,例如
function three($argument)
{
$data = one($variable);
two($variable);
require("../views.php");
}
然后每次在我的switch语句中调用此函数,如
switch($variable)
{
case "1":
three($variable);
break;
case "2":
three($variable);
break;
default:
//something
break;
}
然后我在观看页面中收到未定义$flag1
和$flag2
的通知,我无法理解为什么以及如何通过保留function three
并在{switch
中使用它来解决此问题1}}陈述。