THINKPHP2.0到3.0有哪些改进之处
1.thinkphp中我们的入口文件写法,可能最后要加一个app::run();
3.0就完全不用了,你会发现不然会出现两次调用2.debug 我们开发的时候在2.0中我们一般都这样写,在conf下边的config.php
但是现在的3.0的申明方式就不一样了,我们就用define(‘APP_DEBUG',true);
这样来申明
3.在模板分配模板的时候,在2.0的时候我们会写这些$this->display(皮肤@模块:方法);
但是我们在3.0就是$this->display(皮肤:模块:方法);
4.在我们调用模型的时候,我们可能会这样$user=D(‘user');这个在2.0是完全可以没问题的,但是
如果你写在3.0上,不好意思你写在UserModel.php模型方法根本调用不出来,这个肿么办呢?
$user->D(‘User');不要忽略大小写
5.3.0的部署目录和2.0的是不同的大家要自己惨老看看
6.3.0的自定义目录或者路径都跟2.0的有区别 大家要对照的手册参考看一下,其实也可以自己写一下
今天就先写这么多,继续更新慢慢来~~
相关推荐
-
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
问题代码如下: <?php class IndexAction extends Action{ public function index(){ /* $Model = new Model(); $test = $Model->query('select top 10 * from f_city'); dump($test); */ $CityModel = M('city'); $CityModel->find(); dump($CityModel); } } ?> 出现的情况是
-
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
ThinkPHP官网上曾有一段公告指出,在ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞,漏洞存在于ThinkPHP/Lib/Core/Model.class.php 文件 根据官方文档对"防止SQL注入"的方法解释(参考http://doc.thinkphp.cn/manual/sql_injection.html) 使用查询条件预处理可以防止SQL注入,没错,当使用如下代码时可以起到效果: $Model->where("id=%d and usern
-
ThinkPHP2.x防范XSS跨站攻击的方法
本文实例讲述了ThinkPHP2.x防范XSS跨站攻击的方法.分享给大家供大家参考.具体如下: 一直使用ThinkPHP2.x,通过乌云有向提交了ThinkPHP XSS攻击的bug,抽时间看了一下. 原理是通过URL传入script标签,ThinkPHP异常错误页面直接输出了script. 原理: http://ask.lenovo.com.cn/index.php?s=1%3Cbody+onload=alert(1)%3E 其中m的值是一个不存在的module,同时是一个完全的script,
-
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
ThinkPHP是国内著名的开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结 构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库).RoR的ORM映射和ActiveRecord模式, 封装了CURD和一些常
-
hta编写的软件管理工具0.1(IE7.0测试通过)
自定义分类,是归档文件,好比你可以把你的工具分为渗透.溢出.网马.浏览之类的,可无限建分类 建好分类后,你可以进行第二步,根据你需要的后缀来进行分类,不建议将dll文件也分类,只把exe和webshell之类进行收集吧 第二步查找结束后,可以选择程序建立的SearchResult.txt,根据提示构选要存到哪一个分类,自动存进数据库 第三步当然是进行查找了,根据自定义sql语句查找你的工具 程序只是个雏形,可以提供建议,有时间再修正bug,进行软件升级 复制代码 代码如下: <HTML> &l
-
vue日期组件 支持vue1.0和2.0
vue-datetime 使用vue编写的时间组件,小巧实用,支持vue1.0,vue2.0 v1.0 功能: 1.支持同时展开多个日期选择框 2.支持单击选中和取消,可配置单选和多选 3.支持双击启动连续选择,支持正向连续,逆向连续和跳跃不可选日期 4.支持在日期选择框内直接切换月份 5.支持初始化不可点击日期(剩余的可选择) 6.支持初始化已选择日期(已选择日期高亮) 7.支持初始化可选择日期(剩余的不可选择) 8.同时初始化不可点击和可点击日期,将以可点击日期为准 v1.1: 1.修复已知
-
详解用webpack2.0构建vue2.0超详细精简版
npm init -y 初始化项目 安装各种依赖项 npm install --save vue 安装vue2.0 npm install --save-dev webpack@^2.1.0-beta.25 webpack-dev-server@^2.1.0-beta.9 安装webpack以及webpack测试服务器,默认安装是1.0版本的,所以必须指定版本号 npm install --save-dev babel-core babel-loader babel-preset-es2015
-
vue学习笔记之vue1.0和vue2.0的区别介绍
今天我们来说一说vue1.0和vue2.0的主要变化有哪些 一.在每个组件模板,不在支持片段代码 VUE1.0是: <template> <h3>我是组件</h3><strong>我是加粗标签</strong> </template> VUE2.0:必须有根元素,包裹住所有的代码 <template id="aaa"> <div> <h3>我是组件</h3> <
-
iOS图片拉伸技巧(iOS5.0、iOS6.0)
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能.极强的用户体验.华丽简洁的外观.华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑. 比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50: - (void)viewDidLoad { [super viewDidLoad]; // 得到view的尺寸 CG
-
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
在 PHP5.0 以上版本里,还兼容了 4.0 版本的构造函数的定义规则.如果同时定义了4.0的构造函数和 __construct()函数,则__construct() 函数优先.为了使类代码同时兼容 PHP4.0 和 5.0,可以采取以下的方式: 复制代码 代码如下: <?phpclass MyClass { function __construct() { //for PHP5.0 echo 'this is class2 construct'; } // 为了使类代码同时兼容 PHP4.
-
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
前言 首先说明这并不是一个教程贴,而记事本应用是网上早有的案例,对于学习 vuex 非常有帮助.我的目的是探索 vuex 2.0 ,然后使用 vuejs 2.0 + vuex 2.0 重写这个应用,其中最大的问题是使用 vue-cli 构建应用时遇到的问题.通过这些问题深入探索 vue 以及 vuex . 我对于框架的学习一直断断续续,最先接触的是 react,所以有一些先入为主的观念,喜欢 react 更多一点,尤其在应用的构建层面来说.之所以断断续续,是因为自己 JS 基础较弱,刚开始学习的
-
解决Android Studio 3.0 butterknife:7.0.1配置的问题
网上教程7.0大多数配置是这样compile 'com.jakewharton:butterknife:7.0.1' ,不知道他们用的Android Studio是多少版本,我用的3.0并没有成功,报错如下: Error:Execution failed for task ':app:javaPreCompileDebug'. Annotation processors must be explicitly declared now. The following dependencies on
-
一款不错的android6.0、7.0权限管理器推荐
一款不错的android6.0.7.0权限管理器PermissionsCheckerUtil 初始化权限管理器:构造方法 private final Context mContext; public PermissionsCheckerUtil(Context mContext) { this.mContext = mContext; } 判断使用的权限集合是否已经全部允许 // 判断权限集合 public boolean lacksPermissions(String... permissio
-
vue1.0和vue2.0的watch监听事件写法详解
如下所示: watch: { aaa: { handler: function (newVal,oldVal) { console.log('当前的值:'+ newVal); console.log('旧的值' + oldVal); }, deep: true //深度监听 } } 以上这篇vue1.0和vue2.0的watch监听事件写法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
随机推荐
- MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
- 针对后台列表table拖拽比较实用的jquery拖动排序
- angularJS模态框$modal实例代码
- ajax请求乱码的解决方法(中文乱码)
- Node 自动化部署的方法
- Oracle中转义字符的详细介绍
- Java中tomcat memecached session 共享同步问题的解决办法
- IE的fireEvent方法概述及应用
- Android中主要资源文件及文件夹介绍
- Yii2中如何使用modal弹窗(基本使用)
- docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍
- 使用PHP实现微信摇一摇周边红包
- PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
- Python import用法以及与from...import的区别
- js简单获取表单中单选按钮值的方法
- Windows安装MySQL 5.7.18 解压版的教程
- js简单实现让文本框内容逐个字的显示出来
- Node.js中.pfx后缀文件的处理方法
- Ionic实现页面下拉刷新(ion-refresher)功能代码
- Windows 服务器安全设置攻略