永发信息网

怎样用配置文件给自己写的类传参???

答案:2  悬赏:80  手机版
解决时间 2021-04-15 04:20
My_class.php 类的文件名:(放在 application/library/)a =$config['a']; $this->b =$config['b']; $this->c =$config['c']; } function output(){ echo $this->a.' '.$this->b.' '.$this->c.' '; }}?>my_class.php 配置文件名:(放在 application/config/)<?php$config['a']='aaaaaa';$config['b']='bbbbbb';$config['c']='cccccc';?>我在控制器中这样调用: function test(){ $this->config->load('my_class'); $this->load->library('my_class'); $this->my_class->output(); }就会报一下错误:A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: aFilename: libraries/My_class.phpLine Number: 7配置文件中的参数没有办法传到类的构造函数中但是类似这样传参可以:$params = array('a' => 'large', 'b' => 'red','c'=>'blue');$this->load->library('my_class',$params);请各位CI高手指点
最佳答案
(配置文件名最好不要和類名起得一樣)$this->config->load('my_config',true);$params = $this->config->item('my_config'); // 這個地方最好把$params打印出來看看$this->load->library('my_class',$params);試一下吧 查看原帖>>
满意请采纳
全部回答
你的代码预计配置文件的内容我不是很清楚,我在这里只能说说具体的构造函数传参数值的具体事项: 希望对你有所帮助,尽快找到出错的地方: 使用构造子注入时,则使用constructor-arg子标签,来指定构造函数的参数。 <bean id="provider" class="com.apress.prospring.ch4.configurablemessageprovider"> <constructor-arg> <value>this is a configurable message</value> </constructor-arg> </bean> 当构造函数有多个参数时,可以使用constructor-arg标签的index属性,index属性的值从0开始。 <bean id="provider" class="com.apress.prospring.ch4.configurablemessageprovider"> <constructor-arg index="0"> <value>first parameter</value> </constructor-arg> <constructor-arg index="1"> <value>second parameter</value> </constructor-arg> </bean> 在使用构造子注入时,需要注意的问题是要避免构造子冲突的情况发生。考虑下面的情况: public class constructorconfusion { public constructorconfusion(string somevalue) { system.out.println("constructorconfusion(string) called"); } public constructorconfusion(int somevalue) { system.out.println("constructorconfusion(int) called"); } } 使用如下配置文件 <bean id="constructorconfusion" class="com.apress.prospring.ch4.constructorconfusion"> <constructor-arg> <value>90</value> </constructor-arg> </bean> 那么,当实例化组件constructorconfusion时,将输出constructorconfusion(string) called,也就是说参数类型为string的构造函数被调用了,这显然不符合我们的要求。为了让spring调用参数为int的构造函数来实例化组件constructorconfusion,我们需要在配置文件中明确的告诉spring,需要使用哪个构造函数,这需要使用constructor-arg的type属性。 <bean id="constructorconfusion" class="com.apress.prospring.ch4.constructorconfusion"> <constructor-arg type="int"> <value>90</value> </constructor-arg> </bean>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样才可以点亮图标?
在黑龙江有几家茜茜公主内衣店
单选题细胞分裂过程中,同源染色体A.复制后一
执业医师何时查分
明伟干菜调味品海鲜批零店在哪里啊,我有事要
宝马什么型号是跑车
资阳有些什么银行
普京为什么不怕美国 美国人为什么怕普京
如何追求自己喜欢的人???
眼袋很重 有什么不麻烦的办法能消除的如题 谢
求5000元以内配置一套家庭影院音响,功放+音
拼命 英文单词是怎么翻译的
单选题为了使测量更准确,在实验中应该A.尽量
气象谚语:雷公先唱歌,的后半句是什么?
火线鬼跳谁会?
推荐资讯
金豪雀男装在什么地方啊,我要过去处理事情
怎样才能做到自强不息?
如图,∠A=60°,∠B=80°,则∠1+∠2=______
电路起火一秒钟烧多少米
怎么从不相信爱情里走出来?
戴尔WIN7如何恢复管理员账户为标准账户出现了
QQ三国XS装备一套要多少钱?
英雄岛好多级点亮图标?
魔兽世界39战场LR的极品天赋选择 要求是图·
广州直飞丽江三义机场再转汽车到香格里拉。三
诺基亚N82行货现在需要多少钱?用着怎么样呢
QQ音速好不好玩啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?