52ape:表单自动生成的开发思路以及运行效能问题

来源:百度文库 编辑:偶看新闻 时间:2024/06/12 03:19:06


各位前辈好,小弟不才问个大范围(不好意思,有些用词上的不同请多多包涵):

小弟自个儿摸索PHP没有很长的时间,较多是摸索现成的CMS,偶而课堂上学到的也仅是使用DW内建的功能,透过修改使用的接收值去操作数据库。
有玩过joomla及drupal,也用他们架了网站运行了一段时间。

因为从未自己逐行开发过系统,看了这框架后觉得用这框架达成MVC的开发方式很方便,于是便着手试着开发。
也因为底子不够厚,有些开发上的问题想与各位前辈讨论番。


个人希望程式码能够模组化重复利用最好,于是模组尽量都写的较为弹性。
也因为之前摸索cms的关系,认为模板与php最好都分开,因为希望是以系统的方式写,所以写的方式如下:


定义 config (网站的一些设定)

接着建立libraries内的MY_Controller,将一些基本需要载入的模组在MY_Controller载入)
各个控制器在透过extends MY_Controller去继承。

网站的菜单部份我是写一个模组将表单的资讯写成阵列,呼叫模组只是将阵列传出来(到时候要改成读数据库也可以,只是之前爬文,很多前辈提到最后大型网站会慢就是因为数据库太多读写)

而网站提交需要用到表单部份,我也用上述方式将表单对应资料库的相关数据写为一个阵列,透过模组呼叫回传阵列设定。
储存的阵列模组资料如下,在透过不同的function去回传不同资料表(表单)的数据。
PHP$data = array(
                       
array(
        'display' => false,
        'name' => 'ID',
        'field' => 'did',
        'type' => 'text',
        'size' => 10,
        'default' => '',
        'class' => null        
                        ),复制代码


读取的模组如下(片段)
PHPforeach ($in_data as $v) {
               
        if ($v['display']){
                               
                $form_set = array(
                        'name'        => $v['field'],
                        'id'          => $v['field'],
                        'value'       => $v['default'],
                        'maxlength'   => $v['size']
                               
                );
                               
                $result .= form_label($v['name'], $v['field']);
                switch ($v['type'])
                {
                        case 'text' :
                        $result .=  form_input($form_set) ."
n";
                        break;
                               
                        case 'textarea' :
                        $result .=  form_textarea($form_set) ."
n";
                        break;
                               
                };
                               
        };// end if
                       
};//end foreach复制代码

而这样写的问题就是需要一直使用 foreach去捞资料、比对资料。
我想问这样对于跟从数据库捞这些数据产生表单这种写法是否正确?

捞完资料后通常都是在透过另一个模组将资料转换为html,最后生成的html再传到view内。
也就是就单单一个需要用到表单页面就需要

1.读取设定档(表单设定)
2.将1的资料传到另一个模组去比对需要捞的资料库的资料
3.将2的结果输出为表单并转成html
4.将3的资料传到视图。

所以每多一个资料表就需要多写一个设定档(对应表单栏位),且要透过多个模组呼叫处理。
虽然开发时每写一个模组就是希望能够再次利用,但是单一个网页就需要这么多步骤,这样子的流程是合理的吗?

不好意思来这边询问,这边讨论比较热烈,很多前辈开发经验也很丰富,所以希望各位能给些开发mvc的经验,谢谢
lanc