PHP
一万年太久只争朝夕
一万年太久,只争朝夕
展开
-
thinkphp之Ajax提交和返回
1.$.get原创 2014-10-10 23:15:16 · 2435 阅读 · 0 评论 -
53个要点提高PHP编程效率
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$转载 2016-03-04 14:50:50 · 852 阅读 · 0 评论 -
thinkphp之Excel的导入
1.导入phpexcel类库(见上篇thinkphp之Excel的导出)2.原创 2014-10-10 23:02:43 · 913 阅读 · 0 评论 -
thinkphp之Excel的导出
1.Excel的导出 :原创 2014-10-10 22:16:25 · 4564 阅读 · 0 评论 -
thinkphp引入phpqrcode 生成二维码
步骤:1.下载 phpqrcode.rar 解压后放到以下路径:原创 2014-10-11 16:57:22 · 5230 阅读 · 1 评论 -
php实现冒泡排序,选择排序,插入排序和快速排序
之前自学数据结构的时候看过C语言版的四种基本排序法,C语言都忘的差不多了,最近有空就用php将四种排序法重新写了一遍,复习一下日益生疏的算法。直接贴上代码。<?php/** * 快速排序法 * @param array $arr int数组 * @param int $start 开始下标 * @param int $end 结束下标 */function quickSort(...原创 2016-04-04 22:05:37 · 1020 阅读 · 0 评论 -
PHP设计模式
最近在看设计模式,看到了下面这篇博文,写得蛮好的,转载过来。设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和转载 2016-03-22 20:39:04 · 471 阅读 · 0 评论 -
YII小项目--在线接口管理工具
刚刚学了YII框架,有个想法就实践一下。参考了之前看到的一个接口管理工具的UI,但在功能基础上做了扩展。利用工作之余的时间,开发了一个针对项目接口的管理工具,包括请求参数,返回参数的,测试请求,返回json数据的格式化是一个在线API文档系统。 其致力于快速解决团队内部接口文档的编写、维护、存档,和减少团队协作开发的沟通成本。贴上github地址:https://githu原创 2016-03-24 15:45:39 · 1160 阅读 · 1 评论 -
thinkphp3.2架构及源码理解
主要理解1.配置2.MVC模式;3.url路由解析4.CBD模式(核心Core+行为Behavior+驱动Driver)5.编译缓存官方给出的系统流程,有助于理解框架的运行过程:用户URL请求调用应用入口文件(通常是网站的index.php)载入框架入口文件(ThinkPHP.php)记录初始运行时间和内存开销系统常量判断及定义载入框架引导类(Thi原创 2016-02-29 20:14:54 · 5828 阅读 · 0 评论 -
YII框架的安装出现的两个小问题
官方文档给出了比较详细的教程,我在windows和MacBook都安装了一下,在过程中出现了两个小问题,文档都没给出(第一个问题是描述不清晰),在此总结一下。安装的过程大致为:1.安装composer,PHP 的一个依赖管理工具。2.根据composer的命令来安装yii。确实是比较简单,过程中出现的两个问题是:1.在安装yii的过程要你输入一个Token。解决方式原创 2016-02-29 20:47:42 · 1704 阅读 · 0 评论 -
PHP中的魔术方法和魔术常量简介和使用
魔术方法(Magic methods)PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__callStatic(),用静态方式中调用一个不可访问方法时调用__get(),获得一个类的成员变量时调用转载 2016-04-07 14:49:56 · 425 阅读 · 0 评论 -
记php和java中英文字节长度和编码关系
1.PHPPHP其实跟C语言一样,采用ASCII,一个char占1个字节,在GBK编码,一个英文占1个字节,一个中文占2个字节。然而在UTF-8编码下,一个英文还是占1个字节,但一个中文是占3-4个字节(一般都是3个字节),这通常会给你获取字符串的字长或者字符串截取带来麻烦。比如:<?php$str = "我爱你Iloveyou";echo strlen($str); //utf8下是原创 2016-03-25 15:57:53 · 1689 阅读 · 0 评论 -
深入理解PHP Opcode缓存原理
什么是opcode缓存?当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cac转载 2016-04-08 16:49:44 · 569 阅读 · 0 评论 -
性能优化之PHP优化
一.语言性能优化1.使用Apache下的ab工具进行性能测试测试:ab -n100 -c100 https://www.baidu.com/(请求100次,并发量是100)关注两个量:Requests per second(每秒请求数 )和Time per request(平均响应时间)2.尽量使用php内置变量,常量,函数,原因:php代码需要经过zend引擎原创 2016-04-09 22:58:45 · 1297 阅读 · 0 评论 -
PHP入门半月总结
总结一下自己两周来PHP的学习内容。1.PHP,html语言的使用直接在这里学习PHP->http://www.w3school.com.cn/php/html->http://www.w3school.com.cn/html/w3school还有挺多别的,比如JS,CSS...2.PHP开发环境的搭建原创 2014-07-18 10:24:00 · 649 阅读 · 0 评论 -
thinkphp3.2整合银联手机网页支付
1.和银联签约,签约成功之后才进行技术集成,到银联官方下载手机网页支付的技术文档和demo代码;https://open.unionpay.com/ajweb/help/file/techFile?productId=66demo里面有个readme.txt会告诉你要修改哪些东西2.同样,如果遇到和支付宝一样的验签失败,原因很可能就是证书有问题,还有,测试环境手机网页打开之原创 2015-12-27 15:35:00 · 4431 阅读 · 3 评论 -
thinkphp3.2实现微信JSAPI支付
使用准备1.接口权限--获取openid用到2.js安全域名--调用jssdk用到3.开通微信公众号支付微信支付申请通过后,有收到微信方的邮件,邮件有微信商户号和密码,可以登录微信商户平台https://pay.weixin.qq.com/index.php/home/login?return_url=%2F。要上去设置私钥,微信支付需要用到。原创 2015-12-27 14:21:37 · 8937 阅读 · 4 评论 -
thinkphp之URL,跳转和重定向
一.URL1.URL模式,在config.php配置原创 2014-10-11 17:14:57 · 7583 阅读 · 0 评论 -
多维数组排序及数组合并
1.多维数组排序(例子为倒序)1)函数原创 2014-10-11 11:46:49 · 1148 阅读 · 0 评论 -
thinkphp之phpmail发邮件
步骤:1.下载类库PHPMailer原创 2014-10-13 16:35:41 · 1004 阅读 · 0 评论 -
简单的thinkphp,mysql增删查改,连贯操作总结
1.增(注意,如果zid):$m=M('renwubiao'); $m->state=$_POST['state']; $m->info=$_POST['info']; $m->taskid=$_POST['taskid']; //$m->getLastsql(); $idNum=$m->add(); if($idNum>0){ $this->success('任务添加成功原创 2014-10-11 11:39:24 · 1356 阅读 · 0 评论 -
php之字符串处理
1.字符串截取 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";原创 2014-10-11 15:01:48 · 582 阅读 · 0 评论 -
thinkphp瀑布流加载
转自:http://www.thinkphp.cn/info/241.html,下载转载 2014-10-11 22:09:59 · 1318 阅读 · 0 评论 -
thinkPHP之复杂查询
1.查询之_string:例子:$m=M('indentlist'); $where['_string'] = "(indentstate = 'NeedPay') or (indentstate = 'Shipped')";$where['state'] =0;直接出来的语句:SELECT * FROM `indentlist` WHERE ( (indentstate = 'N原创 2015-01-17 09:40:17 · 1325 阅读 · 0 评论 -
Thinkphp检测登录或操作超时(针对设置session有效期失效)
步骤如下:1.登录函数中存登录时间:session('logintime',time());2.在APP/Index/Common/common.php添加公共类:class CheckAction extends Action { public function __construct() { parent::__const原创 2015-02-10 19:09:32 · 10543 阅读 · 1 评论 -
项目出现的问题总结
1.文件的读出和MySQL的写入:在项目之中,有需要用到从Excel读数据写入MySQL的,由于数据是很多个记录,其中又需要用到检测,一开始采取的策略是读一条记录,检测符合条件就写一条记录。由于有时需要写1W条记录之多,于是被测试嫌导入太慢。后来改变策略,现将全部符合条件的记录读出来,然后再用thinkPHP的addAll函数一并写入数据库,速度大大加快。修改后的代码如原创 2015-03-12 22:22:16 · 682 阅读 · 0 评论 -
thinkphp之mysql对象分页和数组分页
1.mysql查表对象分页原创 2014-10-11 10:10:15 · 723 阅读 · 0 评论 -
thinkphp微信扫码支付模式二
1.参考本博客的博文《thinkphp3.2实现微信JSAPI支付》,在此基础上实现微信扫码支付只需做简单修改;2.只需改WxPayAction里面pay函数里面三个地方:1)将支付类型JSAPI改成NATIVE:$this->setParameter("trade_type", "NATIVE"); 2)屏蔽掉以下获取openid相关的代码:$openid = $this原创 2016-01-21 19:53:38 · 5197 阅读 · 0 评论 -
thinkphp3.2整合支付宝手机网页支付
1.首先当然要商家通过签约,由支付宝审核通过才能进行技术集成;2.下载支付宝提供的php demo,直接测试商户账号,密钥,证书可用再进行整合,下面的步骤就是如何把demo改成自己的商户号和私钥。我记得当时下载他的demo修改后是可以支付成功的,但是就是验签失败,后面找客服,客服给我一个新的证书才可以验签成功。最后是看懂了支付宝支付的业务流程, 不成功才能推测那个环节出问题了其实可原创 2015-12-27 15:12:51 · 5308 阅读 · 0 评论 -
php匹配中文_英文_数字的正则表达式
$pattern = "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9]+$/u";$str = '我是Soker';if(!preg_match($pattern, $str)) { var_dump('false');}else { var_dump('true');}原创 2017-08-09 23:19:40 · 3189 阅读 · 0 评论