
thinkPHP
Houzhyan
What is insistence? That is,day after day,you tell yourself to go on for another day.
展开
-
thinkPHP--Volist标签
Volist标签Volist标签主要用于在模板中循环输出数据集或者多维数组。volist标签(循环输出数据)闭合非闭合标签属性name(必须):要输出的数据模板变量id(必须):循环变量offset(可选):要输出数据的offsetlength(可选):输出数据的长度key(转载 2017-03-11 22:23:55 · 475 阅读 · 0 评论 -
ThinkPHP之__construct()和__initialize()
ThinkPHP中的__initialize()和类的构造函数__construct()网上有很多关于__initialize()的说法和用法,总感觉不对头,所以自己测试了一下。将结果和大家分享。不对请更正。首先,我要说的是1、__initialize()不是php类中的函数,php类的构造函数只有__construct().2、类的初始化:子类如果有自己的构造函数(__const转载 2017-07-18 17:58:08 · 643 阅读 · 0 评论 -
thinkphp5结合workerman的消息推送实例_基于web-msg-sender进行消息推送
简介web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送。 通过后台推送消息,消息可以即时推送到客户端,非轮询,实时性非常好,性能很高。特点:多浏览器支持支持针对单个用户推送消息支持向所有用户推送消息长连接推送(websocket或者comet转载 2017-09-25 02:17:30 · 16502 阅读 · 3 评论 -
ThinkPHP3.2+PHPExcel1.8版类库 实现导入导出excel表
实现步骤:一:去官网http://phpexcel.codeplex.com/下载最新PHPExcel放到Vendor下,注意位置:ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php。二:在Controller.class.php中添加以下两个函数:/** +-----------------------------------原创 2017-05-02 17:13:02 · 3296 阅读 · 0 评论 -
tp3的单字母函数在thinkphp5.0改为助手函数简介
thinkphp3.2中一些快捷大写单字母函数,比如 U(),I() , C(),M() , D() , W()等,这些在thinkphp5 中已经不再使用,而是改用助手函数来代替:S=>cache(),C=>config(),M/D=>model(),U=>url(),I=>input(),E=>exception(),L=>lang(),A=>controller(),R=>act原创 2017-10-22 17:29:52 · 2849 阅读 · 0 评论 -
Thinkphp5之ajax分页实现_paginate()参数详细
Thinkphp5 做数据搜索需要带关键词分页,如何将查询条件带入到分页中,本文详细介绍Thinkphp5 分页带参数一、基本使用方法:$list = Db::name('user')->where('status',1)->paginate(10);二、查看thinkphp5 paginate()函数paginate()函数可以带三个参数:$listRow原创 2017-10-23 15:49:41 · 32028 阅读 · 18 评论 -
扩展thinkphp5的redis类方法
笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存、写入缓存的基本方法,远不能满足我们业务的需求。redis本身支持五种数据类型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的东西就不必再介绍了,接下来还是让我一起扩展thinkphp5的redis方法吧!首先我们先找到缓存驱动类里的,handler转载 2017-10-11 18:18:05 · 8165 阅读 · 2 评论 -
thinkphp5.0极速搭建restful风格接口层实例
作为国内最流行的php框架thinkphp,很快就会发布v5.0正式版了,现在还是rc4版本,但已经很强大了下面是基于ThinkPHP V5.0 RC4框架,以restful风格完成的新闻查询(get)、新闻增加(post)、新闻修改(put)、新闻删除(delete)等server接口层1、下载ThinkPHP V5.0 RC4版本:http://www.thinkphp.cn/转载 2017-11-12 15:49:48 · 2930 阅读 · 0 评论 -
Thinkphp5多数据库切换
http://www.zhaisui.com/article/34.html在项目开发中需要Thinkphp5读取多个数据库的数据,本文详细介绍Thinkphp5多数据库切换一、在database.php配置默认数据库连接'type' => 'mysql','hostname' => '服务器IP地转载 2017-11-14 23:26:59 · 7436 阅读 · 1 评论 -
ThinkPHP3.2.3完整版中对Auth.class.php的使用
一,先创建数据表1、think_auth_rule,规则表id:主键,name:规则唯一标识, title:规则中文名称 status 状态:为1正常,为0禁用,condition:规则表达式,为空表示存在就验证,不为空表示按照条件验证[sql] view plain copyDROP TABLE IF转载 2017-12-03 20:30:21 · 899 阅读 · 0 评论 -
thinkphp5行为扩展实现html静态缓存设置
thnkphp5行为扩展html静态缓存利用钩子thinkphp钩子进行行为扩展。先上本地测试结果关闭缓存:[email protected] */" _ue_custom_node_="true">:/home/www/wwwroot/yunshare.qq$ ab -n1000 -c10 http://yunshare.qq/Article/8/9.htmlT转载 2017-12-06 05:53:14 · 3601 阅读 · 0 评论 -
PHP 命名空间与自动加载机制介绍,spl_autoload_register, __autoload 函数
PHP 命名空间与自动加载机制介绍include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。为了解决这个问题,部分框架会给出一个引入文件的配置清单,转载 2018-01-01 17:07:30 · 479 阅读 · 0 评论 -
Thinkphp5.0 软删除的一些用法
正确是使用姿势Test 是模型类$data = Test::get('5899d8bd2176de6b2d487f82')->delete();或$test = new Test(); $data =$test::get('5899d8bd2176de6b2d487f84')->delete();或$data = $test->where('_id', ...原创 2018-08-25 14:07:26 · 681 阅读 · 0 评论 -
thinkphp3.2跨控制器调用其他模块的方法
thinphp中前台后台都有互相调用方法,这样可以省去重复内容。12$hello = new \Admin\Common\Fun\hello();$hello->hehe();调用其他地方的方法同理。如果是在同控制器里模块名可以省略。如调用common里面的某个类的方法:1转载 2017-07-17 23:22:14 · 5414 阅读 · 0 评论 -
ThinkPHP的RBAC(基于角色权限控制)详解
一、什么是RBAC基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个转载 2017-07-07 00:17:53 · 478 阅读 · 0 评论 -
ThinkPHP 的图像处理功能
ThinkPHP 的图像处理功能,即 Image.class.php。支持GD 库和 Imagick 库,包括对 GIF 图像处理的支持。一. 实例化类库1 //实例化图像处理类,默认为GD库2 $image = new Image();1 //采用Imageick扩展库,默认没安装2 $image = new Image(Image:: IMAGE_IMA转载 2017-06-15 12:49:14 · 2778 阅读 · 0 评论 -
PHP函数: spl_autoload_register与autoload的功能详解
在了解这个函数之前先来看另一个函数:__autoload。 一、__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子: printit.class.php转载 2017-03-14 18:42:44 · 689 阅读 · 0 评论 -
thinkphp 需要注意的一些漏洞(可能已经修复,此处仅是学习)
部分内容摘自网络。看完之后受益匪浅,和大家分享之前发过关于thinkphp的一个ip获取漏洞,官方木有反应http://www.thinkphp.cn/bug/2756.html于是就考虑到官方的关于web中的sql注入过滤的问题是否也是非常马虎。看来几篇文章,发现确实这个thinkphp 框架写的不怎么样。对于安全问题视而不见。以下部分内容摘自网络以及本人测试测试:下载thi转载 2017-04-11 19:26:20 · 3682 阅读 · 0 评论 -
ThinkPHP3.2.3 二级域名设置深入(包括一系列问题的解决方案)
一直在学习,转载很多,也没为大家做点什么,今天花了大半天时间研究这个,中途洗了个澡看了几集,确实几度想放弃.书归正传,今天查了很多资料,大家都在说tp路由,不过没找到讲二级路由实现原理的,也没人给出在哪个文件封装了方法,然后探索·发现就开始了:第一步:参考了tp手册,关于开启设置的很多文章先在convention.php找到这两个设置,具体的方法参考TP手册:http://www.w3cs原创 2017-04-08 01:29:13 · 10372 阅读 · 8 评论 -
ThinkPHP基本CRUD操作
6.13 CURD操作创建(Create)ThinkPHP提供了灵活和方便的数据操作方法,对数据库操作的四个基本操作(CURD):创建add、更新save、读取select ,find(单条), getField(字段)和 删除delete的实现是最基本的,也是必须掌握的,在这基础之上才能熟悉更多实用的数据操作方法。CURD操作通常是可以和连贯操作配合完成的。下面来分析下各自的转载 2017-04-03 18:34:30 · 3052 阅读 · 0 评论 -
ThinkPHP预定义常量及其设置地址
ThinkPHP预定义常量:123456789'__TMPL__' => APP_TMPL_PATH, // 项目模板目录'__ROOT__' => __ROOT__, // 当前网站地址'__APP__' =转载 2017-04-19 19:40:36 · 2270 阅读 · 0 评论 -
关于Thinkphp3.2 命名空间的说明-php5.3命名空间介绍-TP自动加载
3.2版本全面采用命名空间方式定义和加载类库文件,有效的解决多个模块之间的冲突问题,并且实现了更加高效的类库自动加载机制。命名空间的概念必须了解,否则会成为3.2版本开发的重大障碍。如果不清楚什么是命名空间,可以参考PHP手册:PHP命名空间由于新版完全采用了命名空间的特性,因此只需要给类库正确定义所在的命名空间,而命名空间的路径与类库文件的目录一致,那么就可以实现类的原创 2017-05-02 14:18:50 · 2127 阅读 · 0 评论 -
thinkPHP 查询数据库字段
/*** 查询指定的字段是否存在表中* @param type $field 字段名称* @return void* @access protected*/protected function issetField($field){$fields=$this->model->getDbFields();return array_search($field,$fields); }原创 2017-05-04 17:44:21 · 4508 阅读 · 0 评论 -
ThinkPHP switch标签name属性
ThinkPHP模板中的switch标签用于在模板中根据不同情况输出不同的值。 ThinkPHP模板引擎支持switch判断,可根据不同条件输出不同的结果,使用格式如下: 输出内容1输出内容2默认情况 用法举例如下: 管理员游客 此处注意: name属性可以使用函数以及系统变量,其属性值为变量名转载 2017-05-05 21:28:58 · 1926 阅读 · 0 评论 -
ThinkPHP中的动态缓存(S方法)和快速缓存(F方法)
系统默认的缓存方式是采用File方式缓存,我们可以在项目配置文件里面定义其他的缓存方式,例如,修改默认的缓存方式为Xcache(当然,你的环境需要支持Xcache) 对于File方式缓存下的缓存目录下面因为缓存数据过多而导致存在大量的文件问题,ThinkPHP也给出了解决方案,可以启用哈希子目录缓存的方式。 'DATA_CACHE_SUBDIR'=>true转载 2017-05-29 16:29:23 · 802 阅读 · 0 评论 -
ThinkPHP函数详解:U方法
原文:http://www.thinkphp.cn/info/132.htmlU方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:U('地址','参数','伪静态','是否跳转','显示域名');在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。在模板中的调用格转载 2017-06-01 09:46:57 · 993 阅读 · 0 评论 -
为什么有join关联查询,ThinkPHP还要增加关联模型(实例说明)
实际上,thinkphp的关联模型,就是简化你的jion操作。所以,本质上,关联模型,就是处理表连接关系的。归根结底的,就是让你在用模型操作的时候,简化SQL查询的join结果。直接上实例:下面是关联模型和原生join结果对比:总结:从上面实例可以看到,原生join查询时生成多条带有重复元素信息的结果,而关联模型则将这些结果合并;即优化了查询结果.在多数据查原创 2017-05-21 15:40:58 · 4669 阅读 · 0 评论 -
thinkphp autoload 命名空间自定义 namespace
使用thinkPHP过程中,一些自定义的类库和第三方类库需要找一个合适的位置放置,放到系统默认的org文件夹感觉不太好,破坏了thinkPHP的原生目录。就看了一下官方手册,可以在模块或者应用的配置文件里自定义类库的命名空间。不过使用中需要注意的是,你的自定义的命名空间名称需要和你的文件夹名称相对应,不能更改。然后测试一下以上所述就是本文的全部内容了,希望大家能转载 2017-06-06 20:40:34 · 1721 阅读 · 0 评论 -
thinkphp3.2 表达式查询eq,neq,gt,egt,lt,elt,in,between,like,exp
上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:$map['字段名'] = array('表达式','查询条件');表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:表达式含义协助记忆EQ等于(=)e转载 2017-06-13 14:35:55 · 59516 阅读 · 0 评论 -
thinkphp3.2和thinkphp5第三方类库的加载
3.2的导入类库在3.2中,基本上无需手动加载类库文件,你可以很方便的完成自动加载。系统可以通过类的命名空间自动定位到类库文件,例如: 我们定义了一个类 Org\Util\Auth 类:namespace Org\Util;class Auth {}保存到 ThinkPHP/Library/Org/Util/Auth.class.php。接下来,我们就可以直接实例化了。...转载 2018-11-27 09:48:51 · 560 阅读 · 0 评论