述,\这样在代码生成后这些注释会自动关联到下拉框的text上。如果只是有注解而没有针对每一项的描述,则每 项的值和text是一样的。
以上的数据库设计规则是YY框架约定的,当你按照这些规则设计数据表时,你的开发工作量将大大降低
访问路径设计
访问设计
要完成基本的增删改查工作,通常要有以下几个页面: ???1) 单个项目的新增页面 ???2) 多个项目的列表页面
???3) 单个项目的详细信息页面 ???4) 单个项目的修改页面 这里按照管理我们的URL设计如下
单个项目的新增页面 ---> www.yyuc.net/notes/creat.html
多个项目的列表页面---> www.yyuc.net/notes/index.html (也可已访问:www.yyuc.net/notes/)
单个项目的详细信息页面---> www.yyuc.net/notes/show-?.html( 其中的问号代表项目ID)
单个项目的修改页面--->www.yyuc.net/notes/edit-?.html( 其中的问号代表项目ID)
开发顺序
我们按照:新增,列表,详细,修改的顺序进行逐个页面的程序开发。
新增页面展示
创建控制器文件:controller/notes/creat.php 对应新增的控制器。 creat.php 内容如下:
???
???$note = new Model('notes'); ????>
这句话的意思是依照表:qq_notes创建模型文件。
为什么传入的参数中\没有写呢,因为为了一库多用,我们在数据库配置中将\数据库表前缀\设置为了:qq_。那么对于程序开发来说,所有的对表qq_notes的描述都要用到他除去前缀之后的名字:notes。
创建视图文件:view/default/notes/creat.html 对应新增的视图。 creat.html 内容如下:
??? ??? ???
???CRUD测试 ??? ?????? ??? ???
charset=UTF-8\
好了,新增页面的展示工作就完成了,可能你会对页面上的这些标签感到奇怪,甚至会想:\哎呀,又是该死的视图标签,要学这个框架就要掌握这些烦人的标签了\。
不急让我们先访问以下这个页面,之后你就会发现,YY框架的标签是这么的易学和神奇。
输入网址:http://www.yyuc.net/notes/creat.html,我们可以看到页面展示出来。
因为标题(title)字段的默认值是:\新建标题\,所以该项内容会自动填充,让我们来测试以下,我们把数据库中主题(theme)字段的默认值修改为:\:
刷新下页面你会发现主题字段的默认值随之改变了。
关于模板标签的说明:
对于在控制器中定义的模型变量(如上例中的\,可以在对应的视图中展示针对不同字段的相应的标签:
表单项 对应html 备注 all ... 模型所有非空属性的表单集合(隐藏的) text 文本框 checkbox ... 下拉框 radio 富文本编辑器 color
鼠标点击\发表时间\文本框时,会有日期选择框弹出,这是因为框架会对每个页面自动引入Jquery库和基于Jquery的框架适配器。视图页面中你不需要添加一行js代码就能实现这一功能。
你可能还会有疑问,前面提到的数据库设计中的注记在这个页面中并没有体现出来,好吧,我们把creat.html 的内容改成这个样子: ??? ??? ???
???CRUD测试 ??? ???charset=UTF-8\
??? ??? ???
刷新页面显示效果和之前的是一样的。
新增信息保存
修改控制器文件:controller/notes/creat.php 。
???
???$note = new Model('notes'); ???if(Request::post()){
???//如果有post信息 则认为是新增后的Form提交
???//单纯的post信息判断是不安全的 因为没有具体的字段要求和判断所以可以这样写
???$note->load_from_post(); ???$note->save(); ???} ????>
访问:http://www.yyuc.net/notes/creat.html,页面上填入一些测试数据点击\提交”。
这样各个字段的信息就会自动的保存到数据库中了。
信息列表展示
用户访问时默认展示列表页,所以我们建立的列表页面的控制器名称为index.php。
创建控制器文件:controller/notes/index.php 对应列表展示的控制器。
index.php 内容如下:
???
???$note = new Model('notes'); ???$notes = $note->list_all(); ????>
创建视图文件:view/default/notes/index.html 对应列表展示的视图。 index.html 内容如下:
??? ??? ???
??????
???
???{loop $notes as $n} ???
???{$n->title} ???{$n->author}
???{$n->field_text('theme')} ???{date('Y-m-d',$n->postdate)} ??? ???{/loop} ??? ??? ??? ???
charset=UTF-8\
对于theme字段,因为存储为枚举类型,而枚举的值不是最终要显示的值,所以调用field_text方法展示要调用的文本。
浏览器输入:http://www.yyuc.net/notes/,一个信息列表页面就展现在你面前