PHP脚本中特定行的PHP别名?

PHP脚本中特定行的PHP别名?,php,alias,Php,Alias,我正在使用我的应用程序进行安全级别的工作,我已经编写了一个简单的功能来检查-取决于它的会话用户id他/她拥有什么样的特权。它工作正常,但在某些页面中,如果用户是超级用户,我希望输出一些信息,如果用户是来宾,则禁止输出信息 我使用这样一种语法: 1. <? if admin('superuser', $_SESSION['user_id']) { ?> 2. <div></div> 3. <? } ?> 它工作得很好,但并不优雅,而且万一长代码放

我正在使用我的应用程序进行安全级别的工作,我已经编写了一个简单的功能来检查-取决于它的会话用户id他/她拥有什么样的特权。它工作正常,但在某些页面中,如果用户是超级用户,我希望输出一些信息,如果用户是来宾,则禁止输出信息

我使用这样一种语法:

1. <? if admin('superuser', $_SESSION['user_id'])  { ?>
2. <div></div>
3. <? } ?>
它工作得很好,但并不优雅,而且万一长代码放在卷曲的括号中,它会破坏我代码的纯度。 有没有办法将第1行和第3行别名为某种快捷方式,即

1. <? admin_superuser ?>
2. <div></div>
3. <? admin_super_user_end ?>
也许您有其他一些想法来执行这种级别的安全性

这个想法来自ob_start和ob_end命令。 我在等你的想法


Kalreg.

我喜欢这样的东西。我认为这是完全可以接受的。 为了简化它,您只需要为您的用户提供一个包装器

<?php if ($user->isAdmin()): ?>
<div></div>
<?php endif; ?>

您只需在页面开头设置布尔值:

$isSuperUser = admin('superuser', $_SESSION['user_id']);
那就做吧

<? if ($isSuperUser) { ?>
<div></div>
<? } ?>
<? if (SUPERUSER) { ?>
<div></div>
<? } ?>
那就做吧

<? if ($isSuperUser) { ?>
<div></div>
<? } ?>
<? if (SUPERUSER) { ?>
<div></div>
<? } ?>

常量的优点是它是全局的,如果在函数中使用,则不必首先将其声明为全局的,也不必将其作为参数传递。

您可以使用include函数包含另一个包含相应html/php代码的php文件。我还建议您使用我认为您的头痛可以通过不将html与php内联来解决。模板引擎已经解决了这些问题。将您的逻辑保存在php中,将html保存在模板中。您可以将php视为模板引擎。在我看来,封装也是最好的选择,如果作者对OOP感到满意的话,一开始似乎很实用,但在更大的项目中,它会带来无法控制的增长。保持可控性;永远知道你在哪里可以得到一些东西,而不仅仅是一些漂浮在任何地方的超级全球性的东西。我的2美分。。。