如何在constants.php中定义codeigniter中的全局常量

gcxthw6b  于 2022-12-07  发布在  PHP
关注(0)|答案(6)|浏览(175)

我已经把我的全局常量存储在config-〉constants.php中,但是它会产生问题并抛出错误,我已经这样定义了它,如何在控制器中调用它,代码

define('SuperAdmin','1');
define('Admin','2');
define('CityAdmin' '3');
define('SupportAdmin','4');
define('RestaurantUser','5');
define('FrontUser','6');
define('Other','7');
6yoyoihd

6yoyoihd1#

你不需要在任何地方加载常量,它们是由CI自己自动加载的,这就是它们的意义所在。要使用它们,请记住它们是常量,而不是你习惯于使用$的变量。因此,在你定义它们之后,在你的应用程序的任何地方,你都可以用途:

if($user->userType == SuperAdmin)
{
   do something here;
}

注意,SuperAdmin前面没有$,也没有引号。同样,在常量文件中定义它们之后,您不需要做任何其他操作开始在应用程序中使用它们。

2cmtqfgy

2cmtqfgy2#

首先,使用必须以大写字母定义常量的约定。

define('SUPERADMIN','1');
define('ADMIN','2');
define('CITYADMIN' '3');

您可以使用控制器中的常量,如

if($user->userType == SUPERADMIN)
{
   //Your code ...
}

如果你想在codeigniter中的html文件/视图文件中使用,你可以在html文件中使用常量,比如

<?php echo SUPERADMIN; ?>

您可以通过这种方式访问常量。

8hhllhi2

8hhllhi23#

请始终遵循常量的命名约定,只使用大写字母。如果您在application/config/constants.php文件中声明了常量,那么它将在整个应用程序中可用。

bybem2ql

bybem2ql4#

You may utilise config file (system/application/config/config.php) to set configuration related variables.

Or use constant file (system/application/config/constants.php) to store site preference constants.
kd3sttzy

kd3sttzy5#

这是在config->constants.php中定义全局常量的正确方法。您能否提供有关您所面临的错误的详细信息以及您尝试使用这些变量的代码。请记住,这些变量不需要使用$符号。就像它可以用作$a = SuperAdmin而不是$a = $SuperAdmin一样

63lcw9qa

63lcw9qa6#

根据条件逻辑,CI 4视图解析器文档:
Parser类支持一些基本条件来处理if、else和elseif语法。所有if块都必须用endif标记结束:

{if $role=='admin'}
    <h1>Welcome, Admin!</h1>
{endif}

这个简单的区块会在剖析期间转换成下列项目:

<?php if ($role=='admin'): ?>
    <h1>Welcome, Admin!</h1>
<?php endif ?>

if语句中使用的所有变量都必须预先设置为相同的名称。除此之外,它被视为标准的PHP条件,所有标准的PHP规则都适用于这里。您可以使用任何您通常会使用的比较运算符,如==、===、!==、〈、〉等。

{if $role=='admin'}
    <h1>Welcome, Admin</h1>
{elseif $role=='moderator'}
    <h1>Welcome, Moderator</h1>
{else}
    <h1>Welcome, User</h1>
{endif}

警告:在后台,条件语句是使用eval()解析的,因此必须确保小心处理条件语句中使用的用户数据,否则可能会使应用程序面临安全风险。

相关问题