本文档侧重实战操作,具体理论、细节可以参看官方手册 《ThinkPHP5.1完全开发手册》

所有项目源码都在Github仓库,代码按天创建分支

本系列文档系黑鱼原创,未经授权,请勿转载!

第四天 简单写入数据及皮肤目录结构的优化
黑鱼
发布日期: 2019-01-04 16:53:34
{{ fav.hits}} / {{ fav.ispage}}

一、皮肤目录结构的组织优化

皮肤目录组织基本上遵循以下原则:

  1. 不要将所有文件都存放在根目录下

  2. 目录层次不要太深,建议不要超过三层

  3. 不要使用过长的目录名和尽量不要使用中文目录名

  4. 应充分考虑后期维护调整的灵活性(如目录的移动、改名等)

在前章中,我们通过动态调整全局的视图根目录(view_base)实现的动态切换皮肤是存在缺陷的(不但目录层次更深,还会造成一些不必要的干扰)。

更好的做法是调整模板路径(view_path),这样做不但目录层次更少,灵活性也更好。

进行如下图调整:

1、改为配置模板路径,并注释掉view_base的定义。

image.png


2、动态替换皮肤view_base配置动态调整

image.png


3、实现动态皮肤切换的工作机制

此前,已经知道TP5的视图渲染规则通过配置文件中的“view_path”确定的。因此,我们只要在渲染程序开始前,改变"view_path"值就可以实现皮肤切换的目的,这里是利用行为”appindexbehaviorTest“,在应用开始前,动态修改了"view_path"。

image.png

使用TP5的应用行为(behavior),可以很方便的在应用程序开始前执行我们的自定义业务逻辑。配置应用行为扩展定义文件(tags.php),调整应用行为的执行位置很简单也很直观。

ThinkPHP中的行为是一个比较抽象的概念,但也很有用,建议花点时间深入理解一下。


4、创建数据输入界面

经过上述改造,现在index模块的模板路径是"/public/pc/theme1/"

index/index对应的默认模板地址就是"/public/pc/theme1/index/index.html"

image.png

如果,创建一个表单,运行后可以看到下面的界面。

image.png


5、获取数据与数据库中插入新数据

点击提交数据后,就可以在后台获取用户输入数据了。

image.png


6、数据显示

向视图赋值

image.png


视图中循环输入数组数据

image.png

具体代码请从git创库获取

相关评论 文明上网,理性发言

发布评论

支持作者

  • 感谢您的支持,您的捐赠将用于:
      1、《沉语多语言集群系统》的进一步开发
      2、本站服务器等软硬件的费用支出
      3、ThinkPHP5.1教程的编写
      4、《沉语多语言集群系统》向TP5.1的升级工作