Onthink_项目后总结
---------------------------------------写代码不孤独__小小代(http://www.cnblogs.com/xiaoxiaodai/)
经过一段时间的沉寂,项目到了完活的时期,趁着这个时间段把自己的感触写下。
再次看到自己n久之前的写的资料学习真是感觉忘得都差不多了,甚至怀疑自己看的有没有一点收获。不过有个印记也好,不为别的只为少走弯路,说不定用到的时候百度一下能看到自己写的方法,感慨下...
嗯 首先写下自己的学习的模式。。。。
这个我一般是先查资料 先把一些代码的意思弄懂 (他们的用法和我的不一样 ) 然后我把各个页面把一下 看看他们的分布位置 操作的方式 了解他们的公共函数 公用方法 配置 自定义 系统调用的函数这些东西 然后跟着功能跑几次。。。。再然后自己写了。。。。前后方法的弧度比较长但是全程有效,不求速度,注重知识的积累。。
这回写的网站是宣传性质的 简单但是对于我这个连onthink功能认识都不完善的人来说 的确是能提升一点的
首先先说下 2个概念。。。
-------------------------------
一个是 独立模型 一个是文档模型
独立模型-是独立的表(和其他的独立表没有关连的关系) 文档模型-也是一个独立模型 但是onthink给出的是文档的体系 所以基础的文档表是独立模型 如:用后台的功能(如分类,搜索等) 那就是针对文档类型写的 。
独立模型的优势就是自己建立的表 减轻对文档基础表 数据的添加。便于自己的运用,半裸些状态。但是能引用类似于框架的体系 use Think/Model没有问题
文档模型的优势就是有自己的后台系统 便于全局的搜索 安全的防护 数据库数据的便利性(拓展表方便 如:基于什么模型的表)
--
它们在建立的时候都在后台模型控制上有区别的选项 (独立模型·文档模型) 在运用的时候独立表再字段定义的时候只有自己的自己定义的字段 文档模型-在模型管理时候添加的时候添加的字段有文档基础模型的全部字段。 在数据库的表现形式onethink_name-独立表 onethink_document_name-文档类型表 (在文档类型的拓展表上写的内容都能在基础文档表上查到相应的对应内容) 字段显示不显示是字段前面的选择,可以调整顺序。可以选择是否为必填选项来简化前台后台的js操作 也可以添加正则 或者是函数来安全判定
在新建字段的时候?我没有独立的添加字段属性 没有引用函数????????????????我用的是Onthink自带的字段属性 例如枚举 顺序是在配置项当中定义一个数值的数组 然后再在模型字段属性当中引用。 表单当中表单显示分组能把添加内容分开 也能起不同的名字 。模型当中的内容完全可以在个人中心-内容当中显示。
这个页面的运用一般是在article/add或者是在edit当中运用 文档的默认保存时间可以在系统中去除。
--
分类系统 - 基于文档独立的 如果要是想让前台显示不同的分类
运用的是:W方法 它其实就是把一些常用的命令放到了一个单独的控制文件 原理和OT标签类似 (一般的控制器都是命名空间 外加上use Think\Controller的引用) 通过了树状函数getTree传入之上级分类id 和是否显示下面所有(onthink用的时候能使用双控制器 比如是在某模板当中引用到另一个方法,但是实例化是通过该模板的控制器的配套模型库)
-----
ajax 图片
调用公共函数get_cover用数据库名字获取路径(是显示页面的图片内容 也就是img的src地址)
Jquery上传图片知道属性事件 http://blog.sina.com.cn/s/blog_5079086b0101fkmh.html 引用属性处理-事件调用方法
最后的名字数字写入
----
分类下面内容的写入
通过get_document_model模型检测需要的字段配置获取字段的类型
通过ajax发送input 各种值
-
数据库的写入 一般是实例化数据表new 创建表对象create 用实例化的对象开始CURD操作
(基础的模型文档模型的实例化会调用自动验证 $_validate $_auto)会中断数据流 执行其它程序跳出 也就是验证不成功
先添加基础内容 然后再添加爱拓展内容 运用逻辑数据事物logic判断实例化逻辑事物方法名字-实例化对应的模型 进行具体步骤的写入,逐步的验证。
-
在模板当中可以套接php函数 验证
----
部署服务器 一定要注意user控制器当中 config.php 直接粘贴数据库的密码 配置的话判断的依据
数据库的字段的属性是有上限的如int 缩小范围进行错误判定 多想一下可行性,要一个思路走完再走别的。思维逻辑很重要。这次就是
session值得写入的时候开始知道但是确定范围的时候 虽然最后确定了大范围 但是还是死到了session上。当时可以考虑写入的时间。
也可以通过url找控制器 模板进行错误追踪。找出错误。 常用的可以是ajax提交的值 页面的bug测试。
-----
手机端部署的时候判断是什么登陆的时候用的是 $_server['HTTP_USER_AGENT']判断手机端。
---
样式 学习站推荐 http://www.w3cschool.cc/
手机端的比例 表单验证
-----------
Onthink_项目后总结的更多相关文章
- Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
今天重装系统,安装了新的Myeclipse后,导入之前的项目后,,出现了乱码问题.乱码问题主要是java类中的注释,而jsp页面中汉字却完好如初: 右键项目,查看项目的编码格式,UTF-8,把java ...
- eclipse导入项目后,java文件无法编辑的问题
新公司第一天,从svn checkout maven项目后,导入eclipse,发现文件的图标不对,如下图箭头所示,出现这个问题的原因, 是项目的的目录下没有.classpath文件,所以需要执行下m ...
- 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”. 这说明,在这个项目配置中已经有了src/m ...
- eclipse 导入web项目后,线程假死
eclipse 导入web项目后,就出现关闭后,线程还存在的情况.使用java mission control 查看发现java script indexing线程在running. 关闭js验证后, ...
- eclipse中导入项目后中文成乱码解决办法
转自:http://blog.163.com/lang_zi_ming/blog/static/1140161762010412112650774/ 编程时在往eclipse中导入项目后 项目中的中文 ...
- eclipse导入maven项目后依赖jar包更新问题->update project按钮
eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom ...
- IntelliJ IDEA 创建web项目后添加Java EE (Tomcat)的依赖包
本文讲述的是IntelliJ IDEA 12版本 如果在编译器中创建一个web项目后,没有设置tomcat的依赖包,就不能成功的编译,会缺少javax.servlet.*等类. 添加的方法是: 打开p ...
- 解决android studio 创建新项目后假死
概况:升级sdk编译api后,创建新的android项目后,在构建过程中假死:原有创建的项目 均运行正常:但是新建的项目只要build,电脑除了鼠标之外的,什么都动不了. 通过一系列的折腾,并重启了N ...
- 从svn下载项目后build path为灰色
今天从svn上下载项目后,想加入下面jar包.可是build path为灰色. 解决的方法是:1.在项目上右键properties---project facts 如图所看到的: 点击右側conver ...
随机推荐
- Android再学习-20141018-布局-进度条
20141018-Android再学习 对齐至控件的基准线 为了保证印刷字母的整齐而划定的线(四线三格的第三条线). android:layout_alignBaseline 与父控件的四个边缘对齐( ...
- Java笔记--Java的List、Iterator用法
1. List的使用 准备知识: List继承自Collection接口.List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作. 跟Set ...
- js 浮点数加减问题
/** ** 加法函数,用来得到精确的加法结果 ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果. ** 调用:accAd ...
- Gson解析复杂JSON对象
例如以下格式JSON: 建立对应的Java对象,注意内部类要定义成静态的 public class HResult { public String total; public String recor ...
- 编程是一项需要时间来掌握的技能(Anders的经验)
Anders现在每天仍然花大量的时间实际写代码,并且未来会一直写下去.他很清醒的知道自己长处:“相比起管理,我还是更擅长于编程.” 事实上,Anders的成名之作Turbo Pascal通过出售软件授 ...
- unix c 04
系统调用(System Call) 文件的操作函数(Unix/Liunx系统内部提供的函数) time 可以查看程序的运行时间,包括用户层时间和系统层的时间. 系统调用其实就是一系列的 ...
- 方案:抵御 不明SSL证书导致的 中间人攻击
基于SSL数字证书的中间人攻击已经不是一个新技术了,但是我发现很多人并不清楚这种威胁,甚至感觉无所谓,我相信他们是由于短暂的无知蒙蔽了双眼,希望这篇文章可以让更多的人知道这种攻击方式,并清除这种网络威 ...
- 事件处理原理(IOS篇) by sixleaves
前言 了解IOS事件处理的本质关键要先掌握几个概念.首先是事件的派发(Event Delivery)的过程, 一个是响应者链条如何构成. 事件的派发: Q1: 你有没有想过,如果你一个屏幕中有多个的V ...
- UVa12096.The SetStack Computer
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 本地存储组件--兼容IE低版本
在前端开发过程中,会用到本地缓存,但是由于浏览器对不同规范支持的程度不一样,每次进行使用都要为兼容行花费不少时间.我整理了一个本地存储的组件. 组件特点: 可以配置使用localSto ...