阿呆
发表于 2015-1-19 12:34:59
$this->load->library('bb');
foreach
$this->bb->init($data);
endforeach
燃雲
发表于 2015-1-19 14:26:56
PHP是如何处理这事的?
答案相当简单:
unset()
看你的情况, 11楼的方案是你要的。
$this->load->library('bb');
foreach
$this->bb->init($data);
endforeach
看手册,动脑筋,是解决问题的基本功夫。
先做好基本功吧!
nic
发表于 2015-1-19 14:55:00
燃雲 发表于 2015-1-19 14:26
PHP是如何处理这事的?
答案相当简单:
只想问 你试过没? 你试过再来回复吧
nic
发表于 2015-1-19 15:12:52
阿呆 发表于 2015-1-19 12:34
$this->load->library('bb');
foreach
$this->bb->init($data);
我打包上传了 你看看怎么弄
nic
发表于 2015-1-19 15:13:26
Closer 发表于 2015-1-19 10:42
你想要做到甚麼樣的效果?
為何不考慮用 model ?
打包上传了代码 请帮忙看看
Hex
发表于 2015-1-19 15:15:10
我简单说一句吧,CI 的设计宗旨就是单例模式,也就是说不支持你这种多实例。
如果想多实例,那就要自己修改 loader.php 文件。
但是,你这样就破坏了 CI 的设计宗旨,我觉得是没有必要的。你可以说说你的需求,也许我们可以有更优雅的方式去实现。
nic
发表于 2015-1-19 15:17:53
本帖最后由 nic 于 2015-1-19 15:19 编辑
Hex 发表于 2015-1-19 15:15
我简单说一句吧,CI 的设计宗旨就是单例模式,也就是说不支持你这种多实例。
如果想多实例,那就要自己修改 ...
哦?不好意思 我对设计模式不太懂
我的想法是 利用一个已经写好的类
我只需要传值进去那个类 获取判断 或者完成加密 返回给控制器
但是 有可能传值不是一个就能通过 有机会循环传值进去做判断 您可以下载打包的代码看看
Hex
发表于 2015-1-19 15:19:44
nic 发表于 2015-1-19 15:17
哦?不好意思 我对设计模式不太懂
简单说吧,CI 的所有对象,都只有一个实例。。。。
你非得要实例化多个实例,所以 CI 本身是不支持你这种行为的。
我看了你的另一个帖子,你就直接先 include 再 new 好了,不要用 load 的方式去加载。
nic
发表于 2015-1-19 15:21:18
Hex 发表于 2015-1-19 15:19
简单说吧,CI 的所有对象,都只有一个实例。。。。
你非得要实例化多个实例,所以 CI 本身是不支持你这种 ...
同意引入再new 的方法 但是有更好的方法吗?
阿呆
发表于 2015-1-19 15:36:28
nic 发表于 2015-1-19 15:12
我打包上传了 你看看怎么弄
不知道是不是你要的。
class Welcome extends CI_Controller {
public function index() {
$variable = array(
'a' => '1',
'b' => '2',
'c' => '3',
'd' => '4',
);
$this->load->library('text'); //第一次可行,第二次就失败
foreach ($variable as $key => $value) {
$data = array('key' => $key, 'value' => $value);
$this->text->init($data);
$temp = $this->text->function1();
if($temp){
var_dump($data);
break;
}
}
}
}
class Text {
private $key;
private $value;
public function __construct($data='') {
$this->init($data);
}
function init($data){
if(!$data) return;
$this->key = $data["key"];
$this->value = $data["value"];
echo $this->key . "<br/>";
echo $this->value . "<br/>";
}
public function function1() {
$key = $this->key;
$value = $this->value;
if($key == "d" && $value == "4") {
return TRUE;
} else {
return FALSE;
}
}
}
输出:
a
1
b
2
c
3
d
4
array'key' => string 'd' (length=1)'value' => string '4' (length=1)