---------------------------------------写代码不孤独__小小代(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_项目后总结的更多相关文章

  1. Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)

    今天重装系统,安装了新的Myeclipse后,导入之前的项目后,,出现了乱码问题.乱码问题主要是java类中的注释,而jsp页面中汉字却完好如初: 右键项目,查看项目的编码格式,UTF-8,把java ...

  2. eclipse导入项目后,java文件无法编辑的问题

    新公司第一天,从svn checkout maven项目后,导入eclipse,发现文件的图标不对,如下图箭头所示,出现这个问题的原因, 是项目的的目录下没有.classpath文件,所以需要执行下m ...

  3. 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法

      建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”. 这说明,在这个项目配置中已经有了src/m ...

  4. eclipse 导入web项目后,线程假死

    eclipse 导入web项目后,就出现关闭后,线程还存在的情况.使用java mission control 查看发现java script indexing线程在running. 关闭js验证后, ...

  5. eclipse中导入项目后中文成乱码解决办法

    转自:http://blog.163.com/lang_zi_ming/blog/static/1140161762010412112650774/ 编程时在往eclipse中导入项目后 项目中的中文 ...

  6. eclipse导入maven项目后依赖jar包更新问题->update project按钮

    eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom ...

  7. IntelliJ IDEA 创建web项目后添加Java EE (Tomcat)的依赖包

    本文讲述的是IntelliJ IDEA 12版本 如果在编译器中创建一个web项目后,没有设置tomcat的依赖包,就不能成功的编译,会缺少javax.servlet.*等类. 添加的方法是: 打开p ...

  8. 解决android studio 创建新项目后假死

    概况:升级sdk编译api后,创建新的android项目后,在构建过程中假死:原有创建的项目 均运行正常:但是新建的项目只要build,电脑除了鼠标之外的,什么都动不了. 通过一系列的折腾,并重启了N ...

  9. 从svn下载项目后build path为灰色

    今天从svn上下载项目后,想加入下面jar包.可是build path为灰色. 解决的方法是:1.在项目上右键properties---project facts 如图所看到的: 点击右側conver ...

随机推荐

  1. WordPress插件制作教程(八): 最后总结

    WordPress插件教程最后一篇,还是为大家简单的做下总结.这次插件制作教程讲的内容和知识点个人觉得不是很多,因为插件制作不单单是这些内容,它涉及的知识很多很多,不是说你会一些函数就可以做出一个好的 ...

  2. (转)Android获取手机信息

    package com.water.activity; import java.util.List; import android.app.Activity; import android.os.Bu ...

  3. 分析统计<第三篇>

    统计是一组存储为柱状图的信息.柱状图是显示数据落入不通分类中的频率的一种统计结构.SQL Server存储的柱状图包括多大200行的列和索引键(或多列索引键的第一列)的数据分布采样.在两个连续采样值之 ...

  4. Linux下编译第三方库的问题

    因为各个Linux发行版之间的差异还是挺大的,有一些预安装在系统上的基本库是不一样的(不仅仅是版本,有一些是有和无的区别). 那么问题来了: 编译第三方库./configure的时候一般我们不会定制那 ...

  5. How to find friends

    How to find friends 思路简单,编码不易 1 def check_connection(network, first, second): 2 link_dictionary = di ...

  6. paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.

    paip.提升性能--- mysql 建立索引 删除索引 很慢的解决. 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blo ...

  7. UGUI 快捷键创建UGUI组件

      使用NGUI的时候还有xxx快捷键创建, spirte,label,button等等. 在UGUI里面的时候好像是没有快捷键的. 不知道以后多久才能有这个功能.  在家里闲无聊的时候写了一个脚本, ...

  8. 用CSS/CSS3 实现 水平居中和垂直居中的完整攻略

    水平居中:行内元素解决方案 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可:   .parent { text-align:center; } 水 ...

  9. 计算直线的交点数(set + 打表)

    计算直线的交点数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  10. uva11624 - Fire!

    uva11624 - Fire! 火在蔓延,人在走.火会蔓延,不会熄灭,我们可以确定某个点着火的时间(广搜).对于J来说,要是他走到某点的时间比火蔓延到该点的时间要短,那么他走到该点的时候,火还没蔓延 ...