![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
WinnSay
这个作者很懒,什么都没留下…
展开
-
PHP数组和Json之间的转换
之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互。因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。Json简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集,这意味着JavaScript可以直接读取Json,非常方便。转载 2013-05-30 09:59:36 · 555 阅读 · 0 评论 -
thinkphp3.1无限级分类模块的设计
实现无限级分类一般只用一个数据表,通常可通过递归和非递归两种方法来实现。递归方法必须使用递归调用方式才能进行数据遍历,删除等操作,所以需要发送多次查询数据库语句,非常影响执行效率。那么非递归该怎样来实现无限分类呢?简单来说可用一张表四个字段和一条语句来实现。1、一张表四个字段1DROP TABLE IF EXISTS `wb_columns`;转载 2013-11-14 11:11:16 · 1402 阅读 · 0 评论 -
ini_set的用法
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。 函数格式:string ini_set(string $varname, string $newvalue) 不是所有的参数都可以配置,可以查看手册中的列表。转载 2014-01-03 18:11:16 · 516 阅读 · 0 评论 -
ThinkPHP框架系统源码解析——URL路由解析
一、ThinkPHP框架目录/test/index.php //项目入口文件/ThinkPHP/ThinkPHP.php //框架入口文件 Common 框架公共文件目录(函数库)ThinkPHP/Common/runtime.php //框架初次运行文件ThinkPHP/Common/common.php //框架基础函数库ThinkPHP/Common/functi转载 2013-12-23 13:43:41 · 2374 阅读 · 0 评论 -
php 中的换行
unix系列用 \nwindows系列用 \r\nmac用 \rPHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性如:转载 2014-04-15 09:56:02 · 527 阅读 · 0 评论 -
使用PHP单例模式
为什么要使用PHP单例模式?1、PHP的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源。2、如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看ZF的FrontController部分。3、在一次页面请求中, 便于进行调试, 因为所有的代码(例如数据库操作类转载 2014-03-20 09:59:30 · 451 阅读 · 0 评论 -
WAMP下安装PEAR和PHPUnit
刚才参考不少资料完成了Windows下面的PEAR和PHPUnit的安装。故记录一下,也给正在进行相关配置的朋友做一个参考。希望有用哈~~我们开始吧,首先说一下我的环境:Win7 64bitPHP5.3.13-VC9-TSApache2.2.22———————————————————— 华丽的分割线 ——————————————————————————1.转载 2014-03-22 16:42:56 · 714 阅读 · 0 评论 -
UCenter跨域、单点登陆机制分析
看了很多博文,终于明白ucenter怎么和uchome进行通信了,首先要明白 uchome 是通过cookie技术 去验证有无登录的,在登录成功后,默认会产生uchome_loginuser和 uchome_auth的Cookie值,而这两个cookie 是有作用域的,所以要想其他的域也有登录名,必须跨域传 用户名和密码等,在进行验证;下面介绍下如何实现的? uchome登陆时访问转载 2014-06-13 09:06:42 · 1405 阅读 · 0 评论 -
采用curl库在PHP程序之间传递数组
最近在工作中遇到一个问题:a.php程序需要将接收到的数据同时写到“线上运行的正式数据库”和“进行开发调试的测试数据库”。而测试数据库可能经常会面临对表结构、字段、配置信息做调整等问题,很不稳定,发生错误的概率很高,如果用a.php程序同时写“正式数据库”和“测试数据库”,势必影响到线上运行的正式服务。 于是,我想到用PHP curl扩展库将生成的$data数组post传递一份给b.ph转载 2014-06-13 11:07:44 · 540 阅读 · 0 评论 -
ECMALL数据库关系模型的实现
所谓模型,则是一个一个的数据实体,换句话说就是一个数据表,你可以基于这个模型,调用model.base.php中的数据库操作函数来对数据进行增、删、改、查的操作。这里的业务模型,是在实体模型基础上,再继承一次,然后对一些方法进行重写。系统中只有三个实体有业务模型:推荐类型 recommend;商品数据模型 goods;商品分类业务模型 gcategory;具转载 2014-09-20 15:33:33 · 540 阅读 · 0 评论 -
[PHP] - 逗号和点号的区别
比如:1. echo 'abc'.'def'; //用点号连接字符串 2. echo 'abc','def'; //用逗号连接字符串 也许很多人都知道逗号要比点号快.但是不知道为什么.更不知道这两者到底有什么区别.那么下面我们就举一些例子.来认清楚他们之前的区别.1. echo '1+5=' . 1+5; 看看上面的.输出的结果是6..而不是1+5=6.有些神奇吧?更神转载 2014-11-01 10:24:00 · 996 阅读 · 1 评论 -
PHP设计模式之:单例模式
单例模式(职责模式):简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;2、拥有一个保存类的实例的静态成员变量3、拥有一个访问这个实例的公共的静态方法(常用getInstance()方法进行实例化单转载 2015-05-31 11:16:19 · 380 阅读 · 0 评论 -
PHP-redis中文文档
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:下载地址如下:https://github.com/owlient/phpredis(支持redis 2.0.4)Redis::__construct构造函数$redis = new转载 2015-12-28 09:11:39 · 454 阅读 · 0 评论 -
php empty()和isset()的区别
在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会转载 2016-02-03 14:25:50 · 438 阅读 · 0 评论 -
php中urlencode()和urldecode()URL编码函数浅析[转]
URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL。URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),另一种是基于UTF-8的Encode(Google、Yahoo等使用)。URLdecode:就是将url编码后...转载 2019-06-06 16:15:44 · 653 阅读 · 0 评论 -
PHP 开发API接口签名验证
就安全来说,所有客户端和服务器端的通信内容应该都要通过加密通道(HTTPS)传输,明文的HTTP通道将会是man-in-the- middle及其各种变种攻击的温床。所谓man-in-the-middle攻击简单讲就是指恶意的黑客可以在客户端和服务器端的明文通信通道上做手 脚,黑客可以监听通信内容,偷取机密信息,甚至可以篡改通信内容,而通过加密后的通信内容理论上是无法被破译的。URL签名生成规...转载 2019-06-24 23:40:04 · 314 阅读 · 0 评论 -
php 中 PHP_OS
<?phpswitch(PHP_OS) { case 'FreeBSD': ..... break; case 'CYGWIN_NT-5.1': ..... break; case 'Darwin': .....转载 2013-11-07 17:09:26 · 2223 阅读 · 0 评论 -
ini_set的用法
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。 函数格式:string ini_set(string $varname, string $newvalue) 不是所有的参数都可以配置,可以查看手册中的列表。转载 2013-11-20 11:52:59 · 759 阅读 · 0 评论 -
Xdebug安装与使用
为什么需要Debugger?很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数)。那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题转载 2013-06-20 14:56:42 · 489 阅读 · 0 评论 -
php进一法取整、四舍五入取整、忽略小数等的取整数方法大全
PHP取整数函数常用的四种方法,下面收集了四个函数;经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intvalPHP取整数函数常用的四种方法,下面收集了四个函数;经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval一、ceil — 进一法转载 2013-06-25 13:57:40 · 1563 阅读 · 0 评论 -
PHP数据类型转换
PHP数据类型转换PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:•(int)、(integer):转换成整形 •(float)、(double)、(real):转换成浮点型 •(string):转换成字符串 •(bool)、(boolean):转换成布尔类型 •(array):转换成数组 •(object):转换成对象 PHP数据类型转载 2013-06-25 11:45:06 · 546 阅读 · 0 评论 -
ThinkPHP中SQL调试方法
$shop_orders = D('Orders');$orderresult = $shop_orders->where("order_cookie = '".$_COOKIE['hr_think_userid']."'")->field('order_id')->select(); echo $shop_orders->getLastSql();转载 2013-07-16 16:46:18 · 525 阅读 · 0 评论 -
thinkphp中$_validate属性
Model类里面定义$_validate属性,是由多个验证因子组成的数组,支持的验证因子格式: 格式:array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间) 验证字段:需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。(必须)验证规则: 要进行验证的规则,需要结合附加规则(必须)提示信息: 用于验证失败后的转载 2013-07-02 13:36:22 · 1205 阅读 · 0 评论 -
Thinkphp html:list 标签的使用
用TP的标签库功能,快速制作内容列表。TP的标签库是个好东西例如,一个包含复选框的标签列表可以这样写:属性中的:1)id和name就不多说了2)datasource是PHP代码传过来的内容信息是在Action中被赋值的变量3)show:""里面是表格的列信息,其中的每一列是用豆号隔开,冒号前的是数据库中表的字段,冒号后的是在表格上要显示标题名4)articleTit转载 2013-07-03 14:06:26 · 3851 阅读 · 0 评论 -
Log4php使用指南
一、Log4php简介 Log4php是Log4xx系列日志组件之一,是Log4j迁移到php的版本,主要用来记录日志信息,支持多种输入目的地,包括:日志文件、日志回滚文件、数据库、日志服务器等等;同时,还支持多种输入格式。二、Log4php的搭建(一)下载Log4php 到Log4php的官方网站就可以下载到Log4php,目前最新的版本是0.转载 2013-07-31 23:42:41 · 979 阅读 · 0 评论 -
thinkphp关联查询(多表查询)
THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例:1、table()$list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.display转载 2013-08-01 13:54:24 · 1336 阅读 · 0 评论 -
提高php代码质量 36计
1.不要使用相对路径常常会看到:复制代码require_once('../../lib/some_class.php');该方法有很多缺点:它首先查找指定的php包含路径, 然后查找当前目录.因此会检查过多路径.如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录.另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工转载 2013-08-21 14:32:22 · 689 阅读 · 0 评论 -
WP_Query的使用方法
在讲WP_Query之前我们要先区分一下两个名词:WP_Query是Wordpress自带的的一个用于处理复杂请求的类(这里的请求的内容不仅包括文章,还可能是页面,用户,分类等其它信息)。$wp_query则是在wp-blog-header.php文件中定义的一个WP_Query实体对象,它提供了当前请求的信息。访问Wordpress首页或分类页面的时候,Wordpress默认创建转载 2013-08-14 23:28:18 · 2579 阅读 · 0 评论 -
toString()以及__toString()
function __toString() { return $this->content; }//输出字符串 function toString() { return $this->content; }内容是一样,不知道前面那两个特殊的下划线有什么意义,是同一个类中的两个方法?回答:执行的结果相转载 2013-09-03 17:17:49 · 672 阅读 · 0 评论 -
安装Ecshop首页出现报错常见的问题解决办法
安装Ecshop首页出现报错:Only variables should be passed by referen 最近想安装一个ECSHOP商城上去,老是报错,出现下面这就话: Strict Standards: Only variables should be passed by reference in D:\**\includes\cls_template.php on lin转载 2013-11-20 11:08:16 · 4184 阅读 · 0 评论 -
smarty {foreach},{foreachelse}
用于像访问序数数组一样访问关联数组{foreach},{foreachelse}{foreach} is used to loop over an associative array as well a numerically-indexed array, unlike {section} which is for looping over numerically-indexed翻译 2013-11-20 16:12:57 · 1450 阅读 · 0 评论 -
通过配置php来屏蔽PHP错误
; Error handling and logging ;; 出错控制和登记 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。; E_ALL - 所有的错误和警告; E_ERROR - 致命性运行时错; E_WARNING - 运行时警告(非致命性错); E_PARSE - 编译时解析错误转载 2013-11-20 11:04:07 · 796 阅读 · 0 评论 -
Smarty缓存机制
大家应该知道缓存机制能有效的减轻网站的服务器压力,Smarty模板引擎的一大亮点就是为我们提供了非常简单的缓存操作,下面就让我们学习一下。 首先我们要知道Smarty缓存机制分为全局缓存,部分缓存,局部缓存三种,我们一一介绍。 1、全局缓存 顾名思义,全局缓存就是为整个网站的全部页面都生成缓存页面。首先我们要操作smarty的配置文件,开启缓存,指定缓存文件目录,转载 2013-11-20 17:24:21 · 740 阅读 · 0 评论 -
PHP中实现函数重载
由于PHP是弱类型语言,因此函数的输入参数类型无法确定(可以使用类型暗示,但是类型暗示无法用在诸如整型,字符串之类的标量类型上),并且对于一个函数,比如只定义了3个输入参数,PHP却运行调用的时候输入4个或者更多的参数。因此基于这2点,注定了PHP中无法重载函数,(类似Javascript语言),也无法有构造函数的重载。由于实现函数的重载对提高开发效率很有帮助,如果能象C#或者C++那样,那就...转载 2019-07-18 09:48:40 · 344 阅读 · 0 评论