|
各位前辈好,小弟不才问个大范围(不好意思,有些用词上的不同请多多包涵):
小弟自个儿摸索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
), 复制代码
读取的模组如下(片段)
PHP复制代码 foreach ($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) ."<br />\n";
break;
case 'textarea' :
$result .= form_textarea ($form_set) ."<br />\n";
break;
};
};// end if
};//end foreach 复制代码
而这样写的问题就是需要一直使用 foreach去捞资料、比对资料。
我想问这样对于跟从数据库捞这些数据产生表单这种写法是否正确?
捞完资料后通常都是在透过另一个模组将资料转换为html,最后生成的html再传到view内。
也就是就单单一个需要用到表单页面就需要
1.读取设定档(表单设定)
2.将1的资料传到另一个模组去比对需要捞的资料库的资料
3.将2的结果输出为表单并转成html
4.将3的资料传到视图。
所以每多一个资料表就需要多写一个设定档(对应表单栏位),且要透过多个模组呼叫处理。
虽然开发时每写一个模组就是希望能够再次利用,但是单一个网页就需要这么多步骤,这样子的流程是合理的吗?
不好意思来这边询问,这边讨论比较热烈,很多前辈开发经验也很丰富,所以希望各位能给些开发mvc的经验,谢谢
lanc |
评分
-
查看全部评分
|