375375 发表于 2009-1-20 00:21:50

在view中function的问题

Controller

class Test extends Controller {

    function Test()
    {
      parent::Controller();
    }

    function index()
    {
      $data['test_var'] = 'aaaa';
      $this->load->view('test_view', $data);
    }
   
}



View

<?php
    function test_test()
    {
      global $test_var;
      echo $test_var;
    }
    test_test();
?>


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

我是新手,请指教

Hex 发表于 2009-1-20 00:23:37

你这样在视图里写函数太不可取了。
这个应该在模型、类库等地方来执行。

yz20sui 发表于 2009-1-22 13:27:21

建立 方法不要写在VIEW里面 以后会很麻烦 这个习惯不好
当然如果确实需要这样的话

可以 在控制器里面

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


在view里面
$model->some_func();

pp18180058 发表于 2009-1-24 12:45:22

Model(models/str.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)
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)
htmltag....
切掉<?=$viewVariable1?>JJ
htmltag....


运行index.php/show
这样应该看明白了吧~

漫无目的 发表于 2009-1-26 02:36:35

请不要在VIEW中声明FUNCTION并运行,这样不可取.
如果需要调用某功能,请声明为model,并在controller中调用它.
最后在view中显示调用后的结果数据就可以了.
页: [1]
查看完整版本: 在view中function的问题