thinkphp新的心得】的更多相关文章

1,代码的高度复用 1,js的删除,弹出框都可以用嵌入的js,不用每个页面都写 2,控制器的初始化函数可以实现配置某些变量,比如admin模块的topic控制器的初始化函数可以 $this->obj = model('Topic'); 3,验证器使用模块文件夹下validate文件夹创建的控制器类(模型与验证器对应),那么不用每次都创建 //验证器 $validate = validate('User'); //得到结果 $result = $validate->scene('registe'…
接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkphp框架,在这里分享下使用心得. TP框架这一块,框架的耦合度高,整体代码半面对对象半过程化,整体使用起来不够方便,语义化很差:TP的默认路由还算不错:MVC这一块,控制器和应用请求.视图耦合度很高,几乎没有对请求进行封装,视图模板不支持深层次的继承,模板标签太多不够简洁(虽然每个标签都有最适合的应…
主要是对于flex: 与width: 的心得,先看代码. <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"&g…
jQuery的each函数: each函数等同于c语言中的for函数: 里面每次循环的 "context 上下文" == 当前的dom ,可以使用this, 也可以使用$(this) 这个this就相当于for中的 循环变量i 对循环的控制: c语言的跳出循环 break == each函数中的 return false; c语言中跳出当次循环,继续下一次continue == each中的 return true. jQuery的筛选选择器: 基本的. # 选择器 每个人都会, 实际…
据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~). 最近刚刚接触到了一个简答易用的表单验证插件jquery validation,下面来分享下这几天收集到的一些资料与学习心得. 一个优秀的表单验证插件:      作为受众多web开发者追捧的validation,它理应拥有如下各种优点: 1.内置验证规则:拥有必填,url,数字,email等1…
概述 jQuery EasyUI 是一组基于jQuery 的UI 插件集合,它可以让开发者在几乎完全不需要CSS以及复杂的JS代码情况下完成美观且功能强大的Web界面. 本文主要说明一些如何利用EasyUI文档快速学习的心得.官网文档介绍的比较详细,也可以使用中文文档. 官网文档: http://www.jeasyui.com/tutorial/index.php http://www.jeasyui.com/documentation/index.php 中文官网文档: http://www.…
模板设计模式: 模版方法模式由一个抽象类和一个(或一组)实现类通过继承结构组成,抽象类中的方法分为三种: 抽象方法:父类中只声明但不加以实现,而是定义好规范,然后由它的子类去实现. 模版方法:由抽象类声明并加以实现.一般来说,模版方法调用抽象方法来完成主要的逻辑功能,并且,模版方法大多会定义为final类型,指明主要的逻辑功能在子类中不能被重写. 钩子方法:由抽象类声明并加以实现.但是子类可以去扩展,子类可以通过扩展钩子方法来影响模版方法的逻辑. 抽象类的任务是搭建逻辑的框架,通常由经验丰富的人…
在Linux环境下简单编程学习心得 linux编程过程 在上周的<信息安全设计基础>的课程学习中学习到了在虚拟的linux环境下简单的编程.学习过程中接触到了vim.gcc和gcd在实验楼中,也利用了实验楼的环境完成了实验. 在实验楼里模拟出来的环境的确方便了学习,但是因为会有时间限制,有些知识就学的不够精通,于是又在自己的电脑上的虚拟机再次练习尝试,结果就发现遇到了很多问题. 编译原理 首先需要了解vim.gcc和gcd的分别的作用是什么. vim:用来编写程序使用,写入代码的.c源文件 g…
前言 在应用开发中,列表是我们使用频率非常高的一种展现形式,在reactjs项目中更是如此.无处不在的使用更是需要我们小心触发性能瓶颈的深水炸弹. 下面就我最近的总结出的几点心得分享给大家,有什么问题欢迎批评指正. 不要用索引当key值 reactjs要求我们对列表中的每一项设置一个唯一的key值,这个虚拟dom的diff算法有很大关系.简单的说,在同一级dom树中,有2种情况会引起元素(这里的元素指的是虚拟dom,而不是真正的dom元素)的增删. 1.元素的类型改变2.key值变化 在列表中,…
接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个风生水起,感觉不整个自己的orm都不好意思继续混博客园了(开个玩笑).那么在此之前我们有必要仔细了解下 IQueryable<T> ,于是就有了此文. 什么是树? 什么是树?这个问题好像有点白痴.树不就是树嘛.看图: 我们从最下面的主干开始往上看,主枝-分支-分支....可以说是无限分支下去.我们倒过来看就是这样: 平时我们用得最多的树结构数据就是XML了,节点下面可以…
在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Framework 4.6.1)开发的DDD/CQRS/微服务架构的案例项目:WeText.文章发出后反响很好,也很感谢大家的关注.在本文中我将介绍如何在Ubuntu 14.04.4 LTS中运行WeText项目的服务端. 为跨平台而生 从一开始的设计,我就把WeText的服务端跨平台纳入了实践目标,因此,所选择的框架…
随着时代的变化,越来越感觉到js的重要性,js不仅可以做web页面(如Ext框架),还可以做一些web的特效,这些特效不仅兼容PC,而且兼容手机端,毕竟是基于浏览器的,和平台没关系.现在微软的windows8 系统的App都可以用js开发了,大家有时间可以去尝试一下. 现在切入正题,说一下js 实现可拖动Div.实现这个功能我们先说一下思路: 1.捕捉鼠标div的mousedown事件 2.捕捉 document的   mousemove事件 3.取消事件 然后我们看一下代码: function…
创建日期:2016.08.06 修改日期:2016.08.07 - 2016.08.12 交流QQ:992591601 参考书籍:<spring源码深度解析>.<spring技术内幕> 参考文章:http://www.cnblogs.com/xing901022/p/4178963.html http://www.myexception.cn/program/1031276.html http://blog.csdn.net/qian_348840260/article/detai…
也许有些读者并不了解dedecms,这里简单介绍一下:DedeCMS是一个自由和开放源码的内容管理系统,它是一个可以独立使用的内容发布系统(CMS).织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,简单来说,就是用来搭建后台而使用的.(文中织梦跟dedecms是同一个意思) 要使用dedecms,首先要去下载:下载dedecms 多图警告,建议电脑上看!!! ①:接下来是安装织梦.首先将织梦解压后放在一个文…
Java返回类型泛型的用法小结 版权声明:本文为博主原创文章,未经博主允许不得转载. 关于Java泛型的基本用法就不多说了,主要是一个编译期的检查,也避免了我们代码中的强制转换,比较经典的用法有泛型DAO,泛型Page的DTO. 现在我要说的是一个挺有趣但是貌似还不是太多的人在代码中使用的方法,前段时间用guava和op4j的时候发现这样的用法,看看了源码,也是很简单的. 比如guava中创建集合的方法 List<xx> list = Lists.newArrayList(),这个代替了我们传…
WeText项目的服务端 在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Framework 4.6.1)开发的DDD/CQRS/微服务架构的案例项目:WeText.文章发出后反响很好,也很感谢大家的关注.在本文中我将介绍如何在Ubuntu 14.04.4 LTS中运行WeText项目的服务端. 为跨平台而生 从一开始的设计,我就把WeText的服务端跨平台纳入了实…
hello,大家好,今天跟大家分享一下java中如何自定义异常,以后如果有新的心得,再添加,欢迎前辈指导... 首先,上Api,看一下异常和错误的父类: 然后,现在假设我有个循环(i=0;i<100;i++),我想在i==10的时候停止运行,并执行我自定义的异常,该怎么做呢,请看: //自定义异常类: 自定义异常类,需要继承Throwable或Exception,并且重写printStackTrace()方法,此方法就是自定义异常的执行结果 public class MyException ex…
[转]再讲IQueryable<T>,揭开表达式树的神秘面纱 接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个风生水起,感觉不整个自己的orm都不好意思继续混博客园了(开个玩笑).那么在此之前我们有必要仔细了解下 IQueryable<T> ,于是就有了此文. 什么是树? 什么是树?这个问题好像有点白痴.树不就是树嘛.看图: 我们从最下面的主干开始往上看,主枝-分支-分支....可以说是无限分支下去.我们…
void handleAccept(int socket_fd) { ] = { '\0' }; string cmd; string filename; recv(socket_fd, buf, ); stringstream sstream; sstream << buf; sstream >> cmd; sstream >> filename; cout << cmd << " " << filename &…
@菜单栏下面,工具栏,有一对黄色的箭头按钮,一个指向左边,一个指向右边,快捷键是Alt+Left/Alt+Right 功能是跳转到你刚刚编辑过的地方 这里的Left/Right指的是左右方向键,可以方便地在源文件.代码之间跳转,帮助你理解源代码!!! @还有一个形似钢笔笔头的按钮,这个可以方便地帮你完成在一个源文件中高亮出一个变量.方法.类型etc,在哪些地方出现过!前提是你要用鼠标选中那个element(注意观察代码编辑区右侧的高亮小方块的提示(相当于代码地图))(如果被关闭了,查看选项Win…
以前对与apply()还有call()一直处于一种我知道这是干什么,但是不知道怎么使用的情况,今天看别人的博客的时候,看到了一点这类知识,感觉有点感觉,现在把新的心得写下来. A.apply(B,[arr]); A.call(B,str1,str2...); 这两个的不同之处就在于后面的那个参数类型,apply是数组,call是一个一个的参数.总体意思就是用A的方法替换B 的方法. 我以前也知道是这样的知识点,但是不知道怎么用,现在看了一个例子感觉很有启发性. // add()函数,将参数相加求…
项目冲刺情况 进展 服务器部署完成.小程序改了几个BUG,WEB端大部分完成,后端主体功能大致完成. 问题 交接的时候出现很多新问题 心得 软工实践真棒!yeah!!! 今日会议内容 黄少勇 今日进展 完成前后端交接 存在问题 发现了一些bug 明日安排 继续测试程序 心得体会 以为完工了,交接的时候出了许多新bug 黄种鑫 今日进展 修改一些bug,部署了服务器 存在问题 无 明日安排 继续改bug 心得体会 配置服务器也是技术活 孔伟民 今日进展 页面大部分完成 存在问题 有些页面很相似,考…
链接:https://www.zhihu.com/question/50806354/answer/139653085 spring cloud +docker 当然没有问题,只是当我们搭建集群实现高可用的时候,觉得k8s对于我们的情况更适用(我们多半的应用都是非Jvm程序),但是可能最后还是会二者皆用. 我的意思并不是说k8s 与spring cloud冲突.我们使用这两个技术的初衷都是为了实现应用的微服务化.然而对于微服务而言,有六个基本必须实现的1.进程通讯2.服务注册与发现3.负债均衡4…
一.引子 一般在游戏进行对外测试的时候都会有一个玩家QQ群,方便玩家反馈问题.交流游戏心得等.那么为了增加玩家加QQ群的欲望,可能会在游戏里面设计一个小功能,点击一下可以直接拉起手Q加群的操作,加了QQ群以后,也会自动下发一些小奖励刺激玩家.原本我以为要拉起手Q加QQ群的操作一定要接入相关平台的SDK才行,直到我详细地阅读了下腾讯官网的QQ群官方主页,我才了解到在游戏内拉起手Q发起加群的操作是如此的简单,根本不需要接入任何第三方SDK,只需短短几行代码即可轻松实现.闲言少叙,书归正文,咱们马上就…
写在前面: (阅读本文前需要了解KMP算法的基本思路.另外,本着大道至简的思想,本文的所有例子都会做从头到尾的讲解) 作者翻阅了大量网上现有的KMP算法博客,发现广为流传的竟然是一种不完整的KMP算法.即通过next数组来作为有限状态自动机,以此实现非匹配时的回退.这不失为一种好的方法. 但我们接下来要见识的是一种更好和更完整的方法————拥有完整DFA的KMP算法 先列出本文要介绍的方法与一般方法对比下的几大优点: 在最坏情况下,对字符串的操作次数仅为一般做法的三分之二. 在所有情况下,对字符…
如果要对Iqueryable进行深入的学习,那么对于拉姆达表达式.委托需要有一定了解.这里面拉姆达表达式就是匿名函数的一种写法,而委托我们常用FUNC和ACTION,这个都是对于delegate委托的一种简便写法,具体内容可以参考 C#进阶之路(四):拉姆达 C#进阶之路(一):委托 本文介绍IQueryable,本来想自己写篇文章,但是写作过程中,在网上看到了一篇很好的文章,介绍类似内容,就决定不再重复的造轮子了,直接引用下篇内容,大家可以点击下面链接阅读原文.原文100多个赞,非常经典. 再…
Hexo博客(Snail主题)搭建回顾概览 笔者搭建博客地址:https://saltyfishyjk.github.io 目录 Hexo博客(Snail主题)搭建回顾概览 Part 0 前言 写作背景 定位 您在这里可以期望获得: 您在这里无法期望获得: 对读者前置知识的期望 Part 1 笔者参考的其他博客 Part 2 笔者踩过的坑 设置GitHub默认分支为master 直接按照Snail主题官方仓库(给出了重要基本指导)的README.md搭建博客 执行hexo g -d时关闭代理 P…
转之--http://www.jb51.net/article/50138.htm ThinkPHP中的Page类在ThinkPHP/Extend/Library/ORG/Util/Page.class.php中,所以使用前要引入Page类: 复制代码代码如下: import('ORG.Util.Page'); //Page类的引入$db = M('abc');//实例化数据表abc$where = array('id'=>'2';);//条件语句$where,例表中字段id的值为2$count…
(城堡幻想曲3,纠正大家个错误哦,不是圣魔大战3,圣魔大战是城堡幻想曲2,圣魔大战不是个系列,艾伦西亚战记==艾伦希亚战记,一个游戏日文名:タイトル キャッスルファンタジア -エレンシア戦記-リニューアル,日文攻略:艾伦西亚战记(艾伦希亚战记)日文攻略) 本文经过几天的改动,应该是完美了(8个MM都追到了,当然我不会就此结束,还会继续改动),我针对重作版和我玩的情况对文章进行补充,因为版本号不同,有些地方仅仅能參考了,我玩的是重做版汉化第二版(详细看城堡幻想曲圣魔大战3(Castle Fanti…
ThinkPHP3.2核心内置了对SAE平台的支持(采用了应用模式的方式),具有自己的独创特性,能够最大程度的使用ThinkPHP的标准特性,让开发人员感受不到SAE和普通环境的差别.甚至可以不学习任何SAE知识,只要会ThinkPHP开发,就能将你的程序运行在SAE上. SAE版ThinkPHP具有以下特性: 横跨性:能让同样的代码既能在SAE环境下运行,也能在普通环境下运行.解决了使用SAE不能在本地调试代码的问题. 平滑性:我们还是按照以前一样使用ThinkPHP,但是您已经不知不觉的使用…