thinkphp新的心得

1,代码的高度复用
1,js的删除,弹出框都可以用嵌入的js,不用每个页面都写
2,控制器的初始化函数可以实现配置某些变量,比如admin模块的topic控制器的初始化函数可以 $this->obj = model(‘Topic‘);
3,验证器使用模块文件夹下validate文件夹创建的控制器类(模型与验证器对应),那么不用每次都创建
4,一些经常调用的api,统一写在api模块下,这样就算是移动端都能调用了
5,模型类里创建一下方法,譬如查询列表,删除某条数据... ,甚至可以继承base模型类,在base模型类里写某些方法。这样九避免了每次都在
控制器里面写方法
6,某些经常使用的方法,写在common里面

2,易读性的代码结构
1,根目录extend文件夹里面写第三方类库(发送邮件...),命名空间namespace mailer;之后在控制器直接调用这些类库就行

3,一些杂的知识点
1,model(‘User‘) validate(‘User‘) //快捷获取模型,控制器对象
2,request()->domain() //当前域名

原文地址:https://www.cnblogs.com/cl94/p/10277421.html

时间: 2024-10-24 16:41:40

thinkphp新的心得的相关文章

thinkphp框架使用心得

接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkphp框架,在这里分享下使用心得. TP框架这一块,框架的耦合度高,整体代码半面对对象半过程化,整体使用起来不够方便,语义化很差:TP的默认路由还算不错:MVC这一块,控制器和应用请求.视图耦合度很高,几乎没有对请求进行封装,视图模板不支持深层次的继承,模板标签太多不够简洁(虽然每个标签都有最适合的应

flex新的心得

主要是对于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

thinkphp 新浪新闻采集代码演示

<?php namespace Home\Controller; use Think\Controller; class CollectController extends Controller { //采集新闻列表包括标题,链接,简介并保存 public function index() { $contents = file_get_contents('http://news.sohu.com/guoneixinwen.shtml'); //搜狐国内新闻首页 $contents = mb_co

jquery validate学习心得

据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~). 最近刚刚接触到了一个简答易用的表单验证插件jquery validation,下面来分享下这几天收集到的一些资料与学习心得. 一个优秀的表单验证插件:      作为受众多web开发者追捧的validation,它理应拥有如下各种优点: 1.内置验证规则:拥有必填,url,数字,email等1

EasyUI文档学习心得

概述 jQuery EasyUI 是一组基于jQuery 的UI 插件集合,它可以让开发者在几乎完全不需要CSS以及复杂的JS代码情况下完成美观且功能强大的Web界面. 本文主要说明一些如何利用EasyUI文档快速学习的心得.官网文档介绍的比较详细,也可以使用中文文档.各版本中文文档地址: http://download.csdn.net/album/detail/343 为什么说几乎不需要CSS? EasyUI中自带了各个组件的CSS样式,并且有多种主题可选.即使默认提供的几种主题不能满足需要

C#模板设计模式使用和学习心得

模板设计模式: 模版方法模式由一个抽象类和一个(或一组)实现类通过继承结构组成,抽象类中的方法分为三种: 抽象方法:父类中只声明但不加以实现,而是定义好规范,然后由它的子类去实现. 模版方法:由抽象类声明并加以实现.一般来说,模版方法调用抽象方法来完成主要的逻辑功能,并且,模版方法大多会定义为final类型,指明主要的逻辑功能在子类中不能被重写. 钩子方法:由抽象类声明并加以实现.但是子类可以去扩展,子类可以通过扩展钩子方法来影响模版方法的逻辑. 抽象类的任务是搭建逻辑的框架,通常由经验丰富的人

Reactjs 列表优化的一些心得

前言 在应用开发中,列表是我们使用频率非常高的一种展现形式,在reactjs项目中更是如此.无处不在的使用更是需要我们小心触发性能瓶颈的深水炸弹. 下面就我最近的总结出的几点心得分享给大家,有什么问题欢迎批评指正. 不要用索引当key值 reactjs要求我们对列表中的每一项设置一个唯一的key值,这个虚拟dom的diff算法有很大关系.简单的说,在同一级dom树中,有2种情况会引起元素(这里的元素指的是虚拟dom,而不是真正的dom元素)的增删. 1.元素的类型改变2.key值变化 在列表中,

spring源码分析(一)IoC、DI

创建日期: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

WeText项目的服务端

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的服务端跨平台纳入了实