我正在尝试查看曾经在我们组织中执行的代码,现在他已经离开,没有人可以帮助我。 我们在服务器中有一个自动部署PHP脚本,以帮助我们在推送时将服务器与github同步(webhooks)。 它过去工作正常,但突然停止工作...... 由于我对这种程序的经验很少,我发现服务器中的PHP代码应该在github中进行推送时工作,基本上它应该完成自动部署的整个过程。 问题是我查了一下代码,发现了一些奇怪的东西;
if ($payload->ref === 'refs/heads/development')
{ echo 'received updated in dev branch; bash/deploy_frontend2dev.sh ';
exec('sh /var/www/html/bash/deploy_frontend2dev.sh', $output);
var_dump($output);
}
else
echo 'smth is called';
" else"这里没有任何花括号。我知道有办法做一个"如果"没有大括号的声明,但是它只使用了一部分没有大括号吗?
如果您希望这是来自" exec":
的代码cd /var/www/html/ezmob-frontend/;
#echo "/var/www/html/ezmob-frontend/";
git pull origin development;
echo "pulling file from dev branch";
rm -R ../dashboard;
echo "dashboard is updated";
unzip ezmob-frontend-built.zip -d ../;
#echo "dashboard is updated";
chmod 777 -R dashboard;
请注意,我们在工作时没有做任何改变,但仍然突然停止自动部署......
感谢。
答案 0 :(得分:0)
一般情况下,是的,你可以使用没有花括号的else。但这正是为了避免你现在遇到的困惑,你应该考虑总是用花括号包裹你的ifs和elses。
这是一场永无止境的讨论,所以请自己做出决定。这就是为什么我认为你应该:
这就是我认为这是个好主意的原因。但每一个他自己。你应该选择你认为最好的东西。
答案 1 :(得分:0)
如果ELSEIF和ELSE可以在没有大括号的情况下使用。
if ($foo) :
echo 'ok';
elseif ($bar) :
echo 'ok';
else :
echo 'nono';
endif;
如果您在IF,ELSEIF或ELSE中只有一行代码,那么您可以这样做:
if ($foo)
echo 'ok';
elseif ($bar)
echo 'ok';
else
echo 'nono';
答案 2 :(得分:0)
if
和else
接受一段代码,该代码块可以是包含在{}
或单个语句中的一系列语句。
您可以使用
if
one-statement-ending-in-semi-colon;
或
if {
many-statements;
each-ending-in-semi-colons;
}