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

时间:2012-12-21 13:17:02

标签: php codeigniter constants

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

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

5 个答案:

答案 0 :(得分:9)

您不需要在任何地方加载常量,它们会自动由CI本身自动加载,这就是它们的重点。要使用它们,请记住它们是常量而不是变量,因为您习惯使用$。因此,在定义它们之后,在应用程序的任何位置,您都可以使用:

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

请注意,SuperAdmin的编写时没有前面的$而不是引号内。同样,在常量文件中定义它们之后,您无需在应用程序中开始使用它们。

答案 1 :(得分:2)

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

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

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

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

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

<?php echo SUPERADMIN; ?>

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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.