- ThinkPHP5.1学习--ThinkPHP5.1 入门开启
Cure The World
PHPThinkPHPphpthinkphp后端
一.框架简介ThinkPHP5.1是目前框架正式版的最新版本;ThinkPHP6.0目前是预览版(尚未稳定的测试版),正式版后考虑制作;TP框架是免费开源的、轻量级的、简单快速且敏捷的PHP框架;你可以免费使用TP框架,甚至可以将你的项目商用;ThinkPHP5.1要求PHP版本是5.6+以上(目前最新版本是7.x);我们采用最新7.x来运行TP5.1,而预览版TP6需要7.1+;集成环境这里采用
- TP5.1.35 致命错误: Class 'think\captcha\Captcha' not found的解决方法
RCX明
thinkphp5.1
步骤1、下载安装captcha,(注意TP5.1是2.0版本的)2、拿到think-captcha放到verndor/topthink下3、打开vendor/composer/autoload_psr4.php4、composer下添加autoload_files.php5、编辑autoload_static.php6、编辑autoload_real.php7、好了,可以正常调用了1、下载安装ca
- PHP实现支付宝小程序登陆
FIERY_6168
接入流程前言采用TP5.1的框架实现,我知道这里会有很多的坑,在开发这个之前,我就写了两篇前奏,因为这个登录需要一些参数,这个和微信小程序的不太一样获取code首先我们需要调用my.getAuthCode接口获取code,然后传给服务端首先登录一下支付宝开发者工具首先我们写一个简单的发送code的demo,这个在官网里面有https://opendocs.alipay.com/mini/api/o
- TP5.1自定义标签使用方法
爱敲代码的大海
ThinkPHP后端php
废话不多说,感觉这个自定义标签好处就是配置好了能够快速方便使用。拿来快速读取信息简直不要太完美!创建自定义标签文件ProductInfo.php。【路径:application/common/taglib/ProductInfo.php】['attr'=>'prodid','close'=>0]];/***@param$tag前台模板传入数据,array*@returnstring*/public
- tp5.1发送阿里云短信验证码
.周周
阿里云php短信
使用tp模拟生成手机号,并发送阿里云短信验证码1.项目根目录执行composer,安装sdkcomposerrequirealibabacloud/client2.发送验证码示例//公共文件useAlibabaCloud\Client\AlibabaCloud;useAlibabaCloud\Client\Exception\ClientException;useAlibabaCloud\Clie
- tp5.1的接口以及跨域
PHP_laravel
1.tp5.1的跨域只需要在路由当中加入allowCrossDomain();Route::resource('api/admin/v1/tags','api_admin/Tag')->allowCrossDomain();2.接口控制器当中$where=function($query)use($request){//按商品名称if($request->nameand$request->name!
- tp5.1的运行流程
poem-rain
php
1,首先在public下的index.php中的内容namespacethink;//定义应用目录//define('APP_PATH',__DIR__.'/app/');//加载基础文件require__DIR__.'/../thinkphp/base.php';//此文件中加载了log(这是我好奇为啥在Container对象中的make方法打印时候有log)//支持事先使用静态方法设置Requ
- TP5.1结合taskphp3.0定时任务
小猫熊未命名
1.第一步,安装最新的taskPHPcomposerrequiretaskphp/taskphpdev-master2.第二步,配置TP5项目的application/command.php文件return['app\crontab\Taskphp',];第三步,创建Taskphp命令文件application/index/command/Taskphp.php[//key为任务名,多任务下名称必
- Centos宝塔安装tp5.1
知数SEO
PHP专区Linux专区centosthinkphp宝塔
今天跟大家一起用centos装宝塔系统,然后安装thinkphp5.1一、安装宝塔具体的安装步骤可以访问宝塔官网#这里我用到的代码是yuminstall-ywget&&wget-Oinstall.shhttps://download.bt.cn/install/install_6.0.sh&&shinstall.shed8484bec安装完成后在安全组放行宝塔提示的端口,然后登陆你的宝塔账号即可,
- tp5.1如何修改浏览器标签栏图标
知数SEO
PHP专区前端thinkphp谷歌浏览器
想必大家都会遇到部署完成网站,浏览器的标签栏图标依然是官方图标,但是需要修改成自己的图标的情况吧今天就带大家一起看下如何修改默认的ico图标,先给大家推家一个免费的制作ico图标的站点tp5.1的ico图标路径在/public/favicon.ico,随便选择一张你喜欢的图片在上面的站点制作完成后,然后命名改为favicon.ico。将其替换原来tp5框架public/favicon.ico。然后
- tp5.1使用RabbitMQ的使用记录
zy9527zxx
rabbitmqrabbitmq分布式php
下载tp6.0最新版的框架,并且指定下载后的文件名:tp6composercreate-projecttopthink/think=6.0.*tp6下载tp5.1最新版本的框架,并且指定下载后的文件名:tp5composercreate-projecttopthink/think=5.1.*tp5准备工作:搭建好rabbitmq服务器搭建好TP网站一、安装amqp包composerrequirep
- 验证码
incover
安装验证码tp6安装3.0版本,tp5.1安装2.0composerrequiretopthink/think-captcha=2.*1.在controller下新建一个Login.phpclassLoginextendsController{//登录界面publicfunctionindex(){returnView('index@login/index');}//登录处理publicfunct
- 2019-01-26 tp5.1
小白大白一起走
1.静态方法和普通方法静态方法是指不需要实例化属于类的方法,建议使用静态方法提高效率,tp5.1中静态方法的特征是::。2.use的命名空间问题参考上图,当出现冲突时建议用as改名3.命名空间命名空间4.关于查找尽量用主键配合静态方法get使用5.空操作和空控制器空操作
- TP5.1导入第三方SDK的使用方法(不使用composer)
lusai1
composerphp
类库全部放在Extend目录内:1.如果类库是放在Extend目录下,则不需要再类库里声明namespace。直接new\Class()2.如果类库是在Extend的子目录下,需要声明namespace,命名空间要与目录名保持一致。假如有一个Aaa.php类,我放在了Extend/Aa/里面,真实地址就是:extend/Aa/Aaa.php,则命名空间就要为namespaceAa,类名必须和文件名
- TP5自定义全局异常处理类
fly一样的感觉
phpphp
TP5.1自定义异常处理类在开发API接口中,需要对接口有错误信息返回,所以需要建一个在全局都能使用的自定义异常类。在common目录下新建exception/ExceptionHandler.php代码内容如下:request=newRequest();}publicfunctionrender(Exception$e){if(strtolower($this->request->header(
- tp5.1 API 自定义全局异常处理(中)
qq_38253703
ThinkPHP5.1PHPThinkPHP
我们先来梳理一下异常的分类:tp5.1有一个全局异常处理类,如果我们想自己实现上面的分类,需要覆盖和重写默认的全局异常处理类。我们现在在api模块的同级下新建一个lib文件夹,再新建一个exception文件夹。(我们想让这个exception里的类是一个通用的,可以供很多模块使用的一个类库。)新建ExceptionHandler的phpclass,并继承Handle类。并且重新指定tp5.1的全
- tp5.1 API 自定义全局异常处理(下)
qq_38253703
ThinkPHP5.1PHPThinkPHP
tp5.1自带的错误页面是非常清晰的,而客户端的开发者需要一个简化的json信息,前面的上中两篇已经具体介绍了如何返回json信息,但是作为客户端开发我们还是希望使用tp5.1自带的错误页面来定位错误,这样如何调和呢?我们可以通过一个开关来进行操作,开关开的时候返回具体的包含错误信息的html页面,如果开关是关闭的我们就返回json。现在我们来分析一下思路,我们通过自己写的render方法覆盖了父
- thinkphp5.1 全局异常处理
xiaodunmeng
php
首先定义一个异常类classBaseExceptionextendsException{public$code=400;public$msg='参数错误';}在定义一个类去继承它classDataMIssExceptionextendsBaseException{public$code=404;public$msg='请求的数据不存在';}目的是区分异常便于处理全局处理异常开始重写tp5.1的异常
- TP5.1统一异常处理
咔咔-
thinkPHPthinkPHP
what?统一异常处理就是应付项目上线后用户非正常操作产生的bug1.创建出统一异常处理类并创建对应的异常处理方法2.创建异常页面3.在控制器fetch异常页面,即可。4.注册统一异常处理类效果:当我们页面报错后,会直接重定向到这个页面
- PHP 对接阿里云短信
大郎,起来喝药了
phpphp阿里云开发语言
一、前期要准备工作:1、tp5.1框架2、composer二、下载官方的SDK1、关于asseccKeyId和asseccKeySecret、模板签名此处略过了。如果您只是要做开发接口,并不想申请的话可以使用官方提供的测试模板:2、在tp5.1框架composer阿里云短信的依赖包、官方的API文档里面有教程!官方有两个SDK的选择,选择升级版的SDK。至于没选这个原版的SDK是有原因的,我第一次
- tp下引用php文件夹,tp5使用PHPWord(下载引入/composer两种方式)
柴犬kobe
tp下引用php文件夹
PHPWORD使用文档一:引入tp5.0,tp5.1:1:composer方式(推荐)a:根目录下执行:composerrequirephpoffice/phpwordb:引入:usePhpOffice\PhpWord\PhpWord;2:下载引入方式a:下载PHPWord:地址:https://pan.baidu.com/s/19UctPmT5tdn0SqrEgM56MA提取码:zxcvb:放到
- 阿里云+tp5.1 实现语音合成(文字转音频)
Lizjun`
phpphp阿里云thinkphp后端restful
阿里云+tp5.1实现语音合成(文字转音频)大请忽略!!!效果视频链接:http://images.junely.vip/textToAudio.mp4前提条件已准备项目appkey,详情请参见创建项目。已获取AccessToken,详情请参见获取Token。获取token前提条件已获取AccessKeyID和AccessKeySecret,详情请参见开通服务。获取Token代码:/***获取To
- 这是一个优雅的TP5.1 Restful Api系统架构,欢迎大家检验
a_嗝嗝
#每日一泡#PHP7.2+TP5.1+RestfulApi,构建的API项目架构,支持APImakedown文档输出、API接口自检、开启APIJWT模式、反射路由模式、API参数自检等功能https://gitee.com/china_wangyu/TP5.1-Restful-Api
- php 5.1 json,thinkphp5.1的json数据写入、查询
李小编
php5.1json
正常一篇文章属于一个分类,所以是单选,现在需要将一篇文章对应多个分类,这时候就需要将分类的单选改成了多选,那做法就有两种,1、将文章表的catid字段改成json格式,如:{"value":"5","value":"6"},2、删除文章表的catid字段,新建一个关联catid的表。根据需求,基于减少修改数据表且tp5.1可以json查询这两点,就选择了json形式来完成这个需求。官方给出来的js
- thinkphp 6出现错误 No input file specified
闪灵龍
phpthinkphpphpapachethinkphp
第一次从TP5.1转换到TP6,在搭建项目的时候报错:Noinputfilesecified.解决方法:public下的.htaccess文件把:RewriteRule^(.*)$index.php/$1[QSA,PT,L]改为:RewriteRule^(.*)$index.php[L,E=PATH_INFO:$1]更改前:Options+FollowSymlinks-MultiviewsRewr
- php框架中的队列使用,Thinkphp5使用队列
小枣君
php框架中的队列使用
说明:以数据库为驱动的消息队列,框架是tp5.1,我是测试将一张表数据插入到另一张表中。1.安装thinkphp-queue扩展,这里版本我下载的2.0,根据自身框架版本下载对应扩展版本composerrequiretopthink/think-queue:2.*2.配置queue文件和database文件,在项目根目录config下面,如下图:1612163792(1).jpg161216414
- TP5.1 导出excel文件
Dove言和
exceltp5.1导出
在ThinkPHP5.1中引入PHPExcel(现在已被官方弃用,推荐使用PhpSpreadsheet)时,可以按照以下步骤进行操作:在composer.json文件中添加PHPExcel(PhpSpreadsheet)的依赖项。找到require部分,并添加以下行:"require":{"phpoffice/phpspreadsheet":"^1.0"}运行命令composerupdate来安装
- tp5.1 引入 vendor下的文件
秋季的傍晚
遇到一个坑,因为服务器原因没有下载composer但是本地是有的所以放到线上后phpExcel文件调用不到之前的vendor和import在5.1以后都不可以用了然后用到以下方法希望可以帮助需要的朋友们require(Env::get('root_path').'vendor/phpoffice/phpexcel/Classes/PHPExcel.php');$objPHPExcel=new\PH
- tp5.1用$this->request->param()接受数据多了一个参数
WYXXXXXXXXX
thinkphpthinkphp
问题描述:意外发现用request->param()取值时,多了点奇怪的东西$request=request();$content=$request->param();var_dump($content);die();这边截取了部分代码,用$this->request->param()的小伙伴们应该也有一样的问题,那么现在来统一解决一下,某度搜了很多都没有原因分析:网上有很多小伙伴说是因为服务器问
- TP5.1消息队列+宝塔Supervisor
哎哟我去
首先安装think-queue:不指定版本号的话会安装TP6的库composerrequiretopthink/think-queue=2.0.*设置queue配置:composer安装好类库后会自动在config文件夹下生成一个queue.php的文件根据自身需要,我修改如下:return['connector'=>'Redis',//Redis驱动'expire'=>60,//任务的过期时间,
- 微信开发者验证接口开发
362217990
微信 开发者 token 验证
微信开发者接口验证。
Token,自己随便定义,与微信填写一致就可以了。
根据微信接入指南描述 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html
第一步:填写服务器配置
第二步:验证服务器地址的有效性
第三步:依据接口文档实现业务逻辑
这里主要讲第二步验证服务器有效性。
建一个
- 一个小编程题-类似约瑟夫环问题
BrokenDreams
编程
今天群友出了一题:
一个数列,把第一个元素删除,然后把第二个元素放到数列的最后,依次操作下去,直到把数列中所有的数都删除,要求依次打印出这个过程中删除的数。
&
- linux复习笔记之bash shell (5) 关于减号-的作用
eksliang
linux关于减号“-”的含义linux关于减号“-”的用途linux关于“-”的含义linux关于减号的含义
转载请出自出处:
http://eksliang.iteye.com/blog/2105677
管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有
- Unix(3)
18289753290
unix ksh
1)若该变量需要在其他子进程执行,则可用"$变量名称"或${变量}累加内容
什么是子进程?在我目前这个shell情况下,去打开一个新的shell,新的那个shell就是子进程。一般状态下,父进程的自定义变量是无法在子进程内使用的,但通过export将变量变成环境变量后就能够在子进程里面应用了。
2)条件判断: &&代表and ||代表or&nbs
- 关于ListView中性能优化中图片加载问题
酷的飞上天空
ListView
ListView的性能优化网上很多信息,但是涉及到异步加载图片问题就会出现问题。
具体参看上篇文章http://314858770.iteye.com/admin/blogs/1217594
如果每次都重新inflate一个新的View出来肯定会造成性能损失严重,可能会出现listview滚动是很卡的情况,还会出现内存溢出。
现在想出一个方法就是每次都添加一个标识,然后设置图
- 德国总理默多克:给国人的一堂“震撼教育”课
永夜-极光
教育
http://bbs.voc.com.cn/topic-2443617-1-1.html德国总理默多克:给国人的一堂“震撼教育”课
安吉拉—默克尔,一位经历过社会主义的东德人,她利用自己的博客,发表一番来华前的谈话,该说的话,都在上面说了,全世界想看想传播——去看看默克尔总理的博客吧!
德国总理默克尔以她的低调、朴素、谦和、平易近人等品格给国人留下了深刻印象。她以实际行动为中国人上了一堂
- 关于Java继承的一个小问题。。。
随便小屋
java
今天看Java 编程思想的时候遇见一个问题,运行的结果和自己想想的完全不一样。先把代码贴出来!
//CanFight接口
interface Canfight {
void fight();
}
//ActionCharacter类
class ActionCharacter {
public void fight() {
System.out.pr
- 23种基本的设计模式
aijuans
设计模式
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Builder:将一个复杂对象的构建与它的表示分离,使得同
- 《周鸿祎自述:我的互联网方法论》读书笔记
aoyouzi
读书笔记
从用户的角度来看,能解决问题的产品才是好产品,能方便/快速地解决问题的产品,就是一流产品.
商业模式不是赚钱模式
一款产品免费获得海量用户后,它的边际成本趋于0,然后再通过广告或者增值服务的方式赚钱,实际上就是创造了新的价值链.
商业模式的基础是用户,木有用户,任何商业模式都是浮云.商业模式的核心是产品,本质是通过产品为用户创造价值.
商业模式还包括寻找需求
- JavaScript动态改变样式访问技术
百合不是茶
JavaScriptstyle属性ClassName属性
一:style属性
格式:
HTML元素.style.样式属性="值";
创建菜单:在html标签中创建 或者 在head标签中用数组创建
<html>
<head>
<title>style改变样式</title>
</head>
&l
- jQuery的deferred对象详解
bijian1013
jquerydeferred对象
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。
每个版本都会引入一些新功能,从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。
&nb
- 淘宝开放平台TOP
Bill_chen
C++c物流C#
淘宝网开放平台首页:http://open.taobao.com/
淘宝开放平台是淘宝TOP团队的产品,TOP即TaoBao Open Platform,
是淘宝合作伙伴开发、发布、交易其服务的平台。
支撑TOP的三条主线为:
1.开放数据和业务流程
* 以API数据形式开放商品、交易、物流等业务;
&
- 【大型网站架构一】大型网站架构概述
bit1129
网站架构
大型互联网特点
面对海量用户、海量数据
大型互联网架构的关键指标
高并发
高性能
高可用
高可扩展性
线性伸缩性
安全性
大型互联网技术要点
前端优化
CDN缓存
反向代理
KV缓存
消息系统
分布式存储
NoSQL数据库
搜索
监控
安全
想到的问题:
1.对于订单系统这种事务型系统,如
- eclipse插件hibernate tools安装
白糖_
Hibernate
eclipse helios(3.6)版
1.启动eclipse 2.选择 Help > Install New Software...> 3.添加如下地址:
http://download.jboss.org/jbosstools/updates/stable/helios/ 4.选择性安装:hibernate tools在All Jboss tool
- Jquery easyui Form表单提交注意事项
bozch
jquery easyui
jquery easyui对表单的提交进行了封装,提交的方式采用的是ajax的方式,在开发的时候应该注意的事项如下:
1、在定义form标签的时候,要将method属性设置成post或者get,特别是进行大字段的文本信息提交的时候,要将method设置成post方式提交,否则页面会抛出跨域访问等异常。所以这个要
- Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量
bylijinnan
java实现
import java.util.LinkedList;
public class CaseInsensitiveTrie {
/**
字典树的Java实现。实现了插入、查询以及深度优先遍历。
Trie tree's java implementation.(Insert,Search,DFS)
Problem Description
Igna
- html css 鼠标形状样式汇总
chenbowen00
htmlcss
css鼠标手型cursor中hand与pointer
Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a><br/>
Example:CSS鼠标手型效果 <a href="#" style=&qu
- [IT与投资]IT投资的几个原则
comsci
it
无论是想在电商,软件,硬件还是互联网领域投资,都需要大量资金,虽然各个国家政府在媒体上都给予大家承诺,既要让市场的流动性宽松,又要保持经济的高速增长....但是,事实上,整个市场和社会对于真正的资金投入是非常渴望的,也就是说,表面上看起来,市场很活跃,但是投入的资金并不是很充足的......
 
- oracle with语句详解
daizj
oraclewithwith as
oracle with语句详解 转
在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用
例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的
----------------------------------------------------------------
- hbase的简单操作
deng520159
数据库hbase
近期公司用hbase来存储日志,然后再来分析 ,把hbase开发经常要用的命令找了出来.
用ssh登陆安装hbase那台linux后
用hbase shell进行hbase命令控制台!
表的管理
1)查看有哪些表
hbase(main)> list
2)创建表
# 语法:create <table>, {NAME => <family&g
- C语言scanf继续学习、算术运算符学习和逻辑运算符
dcj3sjt126com
c
/*
2013年3月11日20:37:32
地点:北京潘家园
功能:完成用户格式化输入多个值
目的:学习scanf函数的使用
*/
# include <stdio.h>
int main(void)
{
int i, j, k;
printf("please input three number:\n"); //提示用
- 2015越来越好
dcj3sjt126com
歌曲
越来越好
房子大了电话小了 感觉越来越好
假期多了收入高了 工作越来越好
商品精了价格活了 心情越来越好
天更蓝了水更清了 环境越来越好
活得有奔头人会步步高
想做到你要努力去做到
幸福的笑容天天挂眉梢 越来越好
婆媳和了家庭暖了 生活越来越好
孩子高了懂事多了 学习越来越好
朋友多了心相通了 大家越来越好
道路宽了心气顺了 日子越来越好
活的有精神人就不显
- java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim
feiteyizu
mysql
数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00”
程序使用select 语句从中取数据时出现以下异常:
java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
java.sql.SQLException: Valu
- Ehcache(07)——Ehcache对并发的支持
234390216
并发ehcache锁ReadLockWriteLock
Ehcache对并发的支持
在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同
- mysql中blob,text字段的合成索引
jackyrong
mysql
在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能,
但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找
则速度快
比如:
create table abc(id varchar(10),context blog,hash_value varchar(40));
insert into abc(1,rep
- 逻辑运算与移位运算
latty
位运算逻辑运算
源码:正数的补码与原码相同例+7 源码:00000111 补码 :00000111 (用8位二进制表示一个数)
负数的补码:
符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 -7 源码: 10000111 ,其绝对值为00000111 取反加一:11111001 为-7补码
已知一个数的补码,求原码的操作分两种情况:
- 利用XSD 验证XML文件
newerdragon
javaxmlxsd
XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看:
http://www.w3school.com.cn/schema/index.asp
java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。
以下代码可用在J
- 搭建 CentOS 6 服务器(12) - Samba
rensanning
centos
(1)安装
# yum -y install samba
Installed:
samba.i686 0:3.6.9-169.el6_5
# pdbedit -a rensn
new password:123456
retype new password:123456
……
(2)Home文件夹
# mkdir /etc
- Learn Nodejs 01
toknowme
nodejs
(1)下载nodejs
https://nodejs.org/download/ 选择相应的版本进行下载 (2)安装nodejs 安装的方式比较多,请baidu下
我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本 (1)上传服务器 (2)解压 tar -zxvf node-v0.12.
- jquery控制自动刷新的代码举例
xp9802
jquery
1、html内容部分 复制代码代码示例: <div id='log_reload'>
<select name="id_s" size="1">
<option value='2'>-2s-</option>
<option value='3'>-3s-</option