【问题标题】:how to define global constants in codeigniter in constants.php如何在constants.php中的codeigniter中定义全局常量
【发布时间】:2012-12-21 13:17:02
【问题描述】:

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

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

【问题讨论】:

  • 当我将 constabnts 放入自动加载时 严重性:通知消息:已定义常量 FILE_READ_MODE 文件名:config/constants.php 行号:16 ......为常量中定义的所有常量生成这种错误.php
  • 最后你的 applicationfiles/config/constants.php 文件似乎没有包含有效的配置数组。
  • 老兄,我知道你为什么要这样创作。最好在数据库级别执行此操作.....

标签: php codeigniter constants


【解决方案1】:

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

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

请注意,SuperAdmin 前面没有 $ 并且不在引号内。同样,在常量文件中定义它们之后,您无需执行任何其他操作即可开始在应用程序中使用它们。

【讨论】:

  • 谢谢哥们干得好
【解决方案2】:

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

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

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

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

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

<?php echo SUPERADMIN; ?>

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 如果将常量声明为:define('USER_TYPE','Super_admin');
    • 您可以在控制器中访问,例如:您可以访问 USER_TYPE 而不是 $USER_TYPE。 if($user->userType == USER_TYPE) { //你到了 }
    • 您可以点击答案下方的“编辑”,然后添加额外的详细信息,而不是使用 cmets 添加到您的答案中。
    【解决方案4】:
    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.
    

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • 感谢我想在控制器中使用它的答案,你能告诉我如何在控制器中加载 constants.php 文件,如 $this->load->config(constants);这是正确的方法吗
      • 哦,谢谢大家,我得到了这个并且也使用了,但是当我在 Where_in 条件下使用它们时,它对我的​​创建问题是该代码 $data['user_array'] = $this-> 的任何解决方案admin_model->get_dropdown('tk_rolemaster','Name,Id'," WHERE Status='Enable' AND Id IN (5,6)")->result();模型代码 public function get_dropdown($table,$value,$where) { return $this->db->query("SELECT ".$value." FROM ".$table." ".$where." "); }
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多