kamengwang 发表于 2012-2-16 12:02:15

HTML 表格类 是不是在破坏MVC????

CI本身是一个MVC的框架,提供HTML表格类,不是又破坏了MVC模式或画蛇添足么???
有一下几点不解,希望有人解释一下.
文档 :CodeIgniter 中国首页 ›用户指南首页 › HTML 表格类

自动生成表格.请问在什么情况下回使用这种方法生成表格?
$this->load->library('table');

$data = array(
             array('Name', 'Color', 'Size'),
             array('Fred', 'Blue', 'Small'),
             array('Mary', 'Red', 'Large'),
             array('John', 'Green', 'Medium')
             );

echo $this->table->generate($data);


改变表格的样子.我真觉得蛋疼.MVC讲求模板分离,下边貌似更复杂了...
$tmpl = array (
                  'table_open'          => '<table border="0" cellpadding="4" cellspacing="0">',

                  'heading_row_start'   => '<tr>',
                  'heading_row_end'   => '</tr>',
                  'heading_cell_start'=> '<th>',
                  'heading_cell_end'    => '</th>',

                  'row_start'         => '<tr>',
                  'row_end'             => '</tr>',
                  'cell_start'          => '<td>',
                  'cell_end'            => '</td>',

                  'row_alt_start'       => '<tr>',
                  'row_alt_end'         => '</tr>',
                  'cell_alt_start'      => '<td>',
                  'cell_alt_end'      => '</td>',

                  'table_close'         => '</table>'
            );

$this->table->set_template($tmpl);



好吧,就拿这两个例子吧.请问这些是写到c层,还是写到v层?它生成的效率比直接从c传递数据,v层循环输出快吗???

hansonfox 发表于 2012-2-16 13:30:44

表格和分页啥的最痛苦了~
ci的分页类实在不怎么好用,不过表格类可以简化View,lz说的这些写一次就好了,有相同的表格不用每次都写一大堆东西。data和tmp在C里写好,View里直接生成要好看些吧,修改样式的时候也方便

sam 发表于 2012-2-17 10:17:53

推荐直接写html代码,效率高。

Hex 发表于 2012-2-17 12:35:28

hansonfox 发表于 2012-2-16 13:30 static/image/common/back.gif
表格和分页啥的最痛苦了~
ci的分页类实在不怎么好用,不过表格类可以简化View,lz说的这些写一次就好了,有 ...

我个人不同意你的观点,CI 的分页类还是很好用的,可以实现各种分页效果,包括AJAX分页。
当然你需要做点小扩展。
我认为用CI而不去扩展,那还不如用 Zend Framework,呵呵

meditator 发表于 2012-2-17 13:19:42

我也觉得直接写html代码比较好,特别表格有JS的时候,看起来也方便
页: [1]
查看完整版本: HTML 表格类 是不是在破坏MVC????