用户
 找回密码
 入住 CI 中国社区
搜索
楼主: nic
收起左侧

[已过期] 已删除

[复制链接]
发表于 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楼的方案是你要的。
PHP复制代码
 
$this->load->library('bb');
foreach
$this->bb->init($data);
endforeach
 
复制代码


看手册,动脑筋,是解决问题的基本功夫。

先做好基本功吧!
 楼主| 发表于 2015-1-19 14:55:00 | 显示全部楼层
燃雲 发表于 2015-1-19 14:26
PHP是如何处理这事的?

答案相当简单:

只想问 你试过没? 你试过再来回复吧
 楼主| 发表于 2015-1-19 15:12:52 | 显示全部楼层
阿呆 发表于 2015-1-19 12:34
$this->load->library('bb');
foreach
$this->bb->init($data);

我打包上传了 你看看怎么弄
 楼主| 发表于 2015-1-19 15:13:26 | 显示全部楼层
Closer 发表于 2015-1-19 10:42
你想要做到甚麼樣的效果?
為何不考慮用 model ?

打包上传了代码 请帮忙看看
发表于 2015-1-19 15:15:10 | 显示全部楼层
我简单说一句吧,CI 的设计宗旨就是单例模式,也就是说不支持你这种多实例。
如果想多实例,那就要自己修改 loader.php 文件。
但是,你这样就破坏了 CI 的设计宗旨,我觉得是没有必要的。你可以说说你的需求,也许我们可以有更优雅的方式去实现。
 楼主| 发表于 2015-1-19 15:17:53 | 显示全部楼层
本帖最后由 nic 于 2015-1-19 15:19 编辑
Hex 发表于 2015-1-19 15:15
我简单说一句吧,CI 的设计宗旨就是单例模式,也就是说不支持你这种多实例。
如果想多实例,那就要自己修改 ...

哦?不好意思 我对设计模式不太懂
我的想法是 利用一个已经写好的类
我只需要传值进去那个类 获取判断 或者完成加密 返回给控制器
但是 有可能传值不是一个就能通过 有机会循环传值进去做判断 您可以下载打包的代码看看
发表于 2015-1-19 15:19:44 | 显示全部楼层
nic 发表于 2015-1-19 15:17
哦?不好意思 我对设计模式不太懂

简单说吧,CI 的所有对象,都只有一个实例。。。。
你非得要实例化多个实例,所以 CI 本身是不支持你这种行为的。
我看了你的另一个帖子,你就直接先 include 再 new 好了,不要用 load 的方式去加载。

 楼主| 发表于 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
我打包上传了 你看看怎么弄

不知道是不是你要的。

PHP复制代码
 
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;
            }
        }
    }
}
 
复制代码
PHP复制代码
 
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)


评分

参与人数 1威望 +2 收起 理由
Closer + 2 阿呆厲害,我也在想類似的方式.

查看全部评分

本版积分规则