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

在view中function的问题

[复制链接]
发表于 2009-1-20 00:21:50 | 显示全部楼层 |阅读模式
Controller

PHP复制代码
class Test extends Controller {
 
    function Test()
    {
        parent::Controller();
    }
 
    function index()
    {
        $data['test_var'] = 'aaaa';
        $this->load->view('test_view', $data);
    }
   
}
复制代码




View

PHP复制代码
<?php
    function test_test()
    {
        global $test_var;
        echo $test_var;
    }
    test_test();
?>
复制代码



想问一下为何没有东西显示,另外应怎样把function写在model然后在view调用呢?

我是新手,请指教
发表于 2009-1-20 00:23:37 | 显示全部楼层
你这样在视图里写函数太不可取了。
这个应该在模型、类库等地方来执行。
发表于 2009-1-22 13:27:21 | 显示全部楼层
建立 方法不要写在VIEW里面 以后会很麻烦 这个习惯不好
当然如果确实需要这样的话

可以 在控制器里面

$this->load->model('some_model');
$model = $this->some_model;


在view里面
$model->some_func();
发表于 2009-1-24 12:45:22 | 显示全部楼层
Model  (models/str.php)
PHP复制代码
 
class str extends Model {
    function str()
    {
        parent::Model();
    }
    function cutstr_GBK($str,$slen,$startdd=0){
        //do something   e.g
        return $str;
    }
}
 
复制代码
Controller  (controllers/show.php)
PHP复制代码
 
class show extends Controller {
    function show() {
        parent::Controller();        
    }
     function index(){
        $this->load->model('str');
        $data = array('viewVariable1'=>$this->str->cutstr_GBK('aaaaaa试,。',8));
        $this->load->view('myview',$data);
    }
}
 
复制代码
View (views/myview.php)
PHP复制代码
 
htmltag....
切掉<?=$viewVariable1?>JJ
htmltag....
 
复制代码


运行index.php/show
这样应该看明白了吧~
发表于 2009-1-26 02:36:35 | 显示全部楼层
请不要在VIEW中声明FUNCTION并运行,这样不可取.
如果需要调用某功能,请声明为model,并在controller中调用它.
最后在view中显示调用后的结果数据就可以了.

本版积分规则