用户
 找回密码
 入住 CI 中国社区
搜索
查看: 14312|回复: 18
收起左侧

[已解决] CI里怎么在config里定义数组常量

[复制链接]
发表于 2009-2-28 01:48:47 | 显示全部楼层 |阅读模式
定义一些常量数组会很方便,但是不希望每个controller 和model都定义,这样的话似乎只能定义在config.php里,搜了艘,似乎只能在类文件里定义数组常量,无法满足要求,在CI里该怎么做呢
发表于 2014-4-14 18:03:25 | 显示全部楼层
直接写在helper函数里,用的时候$this->helper('XXX');把处理后的结果返回就行了,。。
 楼主| 发表于 2009-2-28 02:34:16 | 显示全部楼层
另一个问题,form_validation里有个show_message方法,用于显示错误信息,
但是他的参数是rules,根据文档,大约是这样的
shoe_message(rules, message)
这样的话,如果我有两个max_length,各不相同,比如,20, 50,那么我该如何显示错误信息呢,
发表于 2009-2-28 11:50:39 | 显示全部楼层
第一个问题,我的做法是用一个 Helper,然后 auto load helper。
第二个问题,form_validation 我还没用过,呵呵
 楼主| 发表于 2009-2-28 16:20:30 | 显示全部楼层
好像不能这么做,helper里定义的是函数,数组的话,php似乎找不到
发表于 2009-2-28 16:58:27 | 显示全部楼层
不能找不到吧,我定义常量,是没问题的。
记得要在你需要的地方 load helper
 楼主| 发表于 2009-2-28 17:03:17 | 显示全部楼层
常量或许可以,但是数组是不能够作为常量的,所以必须要找变通的方法,看到网上有个字串值的方法,但是并不适合key=>value的情况
 楼主| 发表于 2009-2-28 17:04:19 | 显示全部楼层
而且如果要做很多处理的话,又失去了他的本义,直接写虽然繁复,倒也直接,加上一堆对string的token处理,代码的可读性就差了
发表于 2009-2-28 17:49:05 | 显示全部楼层
呵呵,数组为什么不可以?helper 实际上就是 include 一个文件,没道理不可以的。
多看看 CI 的源码能解决很多问题,呵呵。
 楼主| 发表于 2009-2-28 23:51:00 | 显示全部楼层
没道理不可以不等于可以,我试了n多遍,helper文件是没有'?>‘的,但是一个普通的include是有的,
load helper,肯定是没办法调用数组,但是include可以,不方便的地方在于,include必须每方法调用,即使构造函数也没办法完成全局的调用,只好在每个方法里都写上include_once了,
我想一定有更好的办法的
发表于 2009-3-1 00:09:37 | 显示全部楼层
楼主可以自己在 config 目录下随便建立一个配置文件就可以了,然后 load 进来,也可以 autoload。
就可以用 http://codeigniter.org.cn/user_guide/libraries/config.html 方法调用了。
记住:不用放到默认的 config.php 中,你可以新建文件。

本版积分规则