![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 73
coder_up
这世上从来没有的两件事: 一是怀才不遇, 怀才一定会遇, 没遇只能说明才不够; 二是情深缘浅, 缘浅只能说明情不够深, 或者根本就没情。。。
展开
-
yii 使用cactiveform 创建表单时候遇到的一些验证问题和使用ajax_form时重置验证规则的解决办法
yii cactiveform 在添加验证信息的时候, 有时候稍有不慎,可能导致客户端验证不起作用,尤其是像我这种初学者来说,更是无解了, 好在今天有点时间, 一路追查这个问题,最后从js 端一直追到了php中, 终于找到了罪魁祸首,原来还是我们自己,哈哈 接下来就简单分享一下:首先让我们来看看所有的客户端js验证是怎么添加上去的:在CActiveForm.php原创 2015-01-08 14:31:14 · 4617 阅读 · 0 评论 -
drupal7(6) 代码方式登录一个用户 加验证
1、声明两个参数,$form, $form_state,在第二个参数中加上你要登录的用户名和密码 $form = array(); $form_state['values']['name'] = ''; $form_state['values']['pass'] = ''; 2、调用第一个方法,该方法在6,7中一样都是验证当前的用户是否被锁定或者激活 查看原创 2013-05-17 10:52:31 · 1547 阅读 · 0 评论 -
今天用到正则表达式爽来php正则 与 js正则全都找了点列出来大家共享
PHP中的正则表达式函数在PHP中有两套正则表达式函数库。一套是由PCRE(Perl Compatible Regular Expression)库提供的。PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以“preg_”为前缀命名的函数。另一套是由POSIX(Portable Operation System interface)扩展库提供的。POSIX扩展原创 2012-07-25 11:49:52 · 7250 阅读 · 3 评论 -
xdebug的安装和配置方法
首先让php错误显示,只需要修改php.ini当中的2条指令,把 displayerrors和htmlerrors都设置为On,如下所示html_errors = On display_errors = On当然如果你要需要查看更多信息,比如说打印调用栈,哪就需要安装xdebug,这个对于比较复杂的代码系统特别有帮助xdebug 安装步骤xdebug原创 2014-11-19 13:34:47 · 2456 阅读 · 0 评论 -
将参数从PHP传递到JavaScript中
php: //自定义数组参数 $newarr = array('a1' => 'a1', 'a2' => 'a2', 'a3' => 'a3'); $config = CJavaScript::encode($newarr); Yii::app()->clientScript->registerScript('customConfig', "var customConfig = " . $原创 2014-12-15 18:24:08 · 2291 阅读 · 0 评论 -
一次完整的HTTP事务是怎样一个过程?
当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢?以下过程仅是个人理解:域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)转载 2015-05-08 12:00:09 · 813 阅读 · 0 评论 -
我在整合yii 和 cas的时候遇到的事!
我在 yii1.0集成cas 的时候遇到的一些问题的总结原创 2015-06-01 16:55:47 · 2465 阅读 · 0 评论 -
关于实现无限级别分类的问题?
1、什么是无限级别分类?对某个产品、行业进行详细的分类,因为可以给每一类都可以动态添加子类。2、实现无线级别分类的方法有哪些? 1)使用递归的方式实现无限级别分类。(效率低下)2)使用ajax实现3)使用亲戚关系(父子关系),通过一条简单的sql语句实现无限级别 3、使用亲戚关系实现无限级别分类实现步骤(最简单和实用的方法)1)简历数据库表(id,name,原创 2012-06-10 08:33:41 · 1580 阅读 · 0 评论 -
PHP中错误模块简介
1. php中常见的错误类型 1. 语法错误 * 1). 少写分号 * 2). 。 。。。。。 2. 环境错误 * 1). php 配置等待 3. 逻辑错误 * 1). 想用一个等号,结果使用了两个等号2.已定义的错误类型 错误名 错误描述 E_ALL 所有的错误和报告 E_ERROR 致命的运行时错误,脚本的执行被 E_W原创 2015-07-02 19:31:49 · 888 阅读 · 0 评论 -
http协议之缓存
http协议缓存控制第一次请求时200 ok第二次请求304 not modified 为修改状态解释: 在网络上有一些缓存服务器,另外浏览器自身也有缓存功能。当我们第一次访问某个图片的时候,正常下载图片返回200 ok基于一个前提-图片不会经常改动,服务器在返回200的时候,还返回该图片的”签名“ -- etag (签名可以理解为图片的“指纹”)当浏览器再次访问该原创 2015-01-18 06:37:47 · 1224 阅读 · 0 评论 -
使用Yii框架自带的CActiveForm实现ajax提交表单
注意: 启用enableAjaxValidation => true 貌似自定义url 不起作用!Php代码: beginWidget('CActiveForm', array( 'id'=>'login-form', 'enableAjaxValidation'=>true, 'enableClientValidation转载 2014-12-29 13:49:34 · 4575 阅读 · 0 评论 -
PHP 判断远程或者本地文件是否存在
$baidu_logo = "http://pr.bdimg.com/static/princess/img/misc/baidu_logo.gif";$logo = "http://pr.bdimg.com/static/princess/img/misc/logo.gif";var_dump(my_file_exists($logo));echo "\n";va转载 2014-12-29 13:39:39 · 1903 阅读 · 0 评论 -
php 性能优化之php 语言级的性能优化一
php语言级的性能优化一原创 2014-12-05 02:45:29 · 5588 阅读 · 0 评论 -
http 协议笔记
webservice = http协议+xmlrest = http协议 + json各种api 也一般是用http + xml/json 来实现的做采集小偷站, 或者学习ajax 也要了解http 协议计算机中的协议和现实中的协议是一样的, 一式双份或者多份双方都遵循一个规范,这个规范就可以称之为协议ftp http stmp pop tcp/ip原创 2015-01-15 11:53:26 · 772 阅读 · 0 评论 -
phpmailer 中文使用说明(简易版)
A开头: $AltBody--属性 出自:PHPMailer::$AltBody 文件:class.phpmailer.php 说明:该属性的设置是在邮件正文不支持HTML的备用显示 AddAddress--方法 出自:PHPMailer::AddAddress(),文件:class.phpmailer.php 说明:增加收件人。参数1为收件人邮箱,参数2为收件转载 2014-12-29 13:41:27 · 656 阅读 · 0 评论 -
php xhprof 扩展的使用
一,什么是XHProfXHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,可细分成调用者和被调用者的开销,XHProf数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序。它独有的数据计算的报告/后处理阶段。在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归转载 2014-12-12 01:09:44 · 1303 阅读 · 0 评论 -
使用php标准库spl在实现观察者模式
上次使用了纯php实现了一个观察者模式(php观察者模式), 现在使用php标准库spl在次实现观察者模式,好处是:随意的生成您想使用的观察者!<?php/** * Created by PhpStorm. * User: evolution * Date: 14-12-27 * Time: 下午5:50 */class Login implements SplSubject原创 2014-12-27 18:28:35 · 2321 阅读 · 0 评论 -
一个很好的正则介绍
第一,让我们看看两个特别的字符:‘^’和‘$’他们是分别用来匹配字符串的开始和结束,以下分别举例说明:"^The": 匹配以 "The"开头的字符串;"of despair$": 匹配以 "of despair" 结尾的字符串;"^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配;"notice": 匹配包含notice的字符串;你可以看见如原创 2012-06-03 11:22:45 · 1787 阅读 · 0 评论 -
yii criteria 数据模型查询数据信息
public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria=new CDbCriteria; $criteria->compa转载 2014-12-29 13:51:36 · 750 阅读 · 0 评论 -
Yii radioButtonList 设置默认选中项
网上看了很多,都没有讲到设置默认选中项,或者我比较笨,没找到,最后我只能自己追Yii的代码。先看语法public string radioButtonList( CModel $model, //模型 string $attribute, //属性 array $data, //用于生成单选按钮组的选项的数据 (value=>display) arr转载 2014-12-29 13:38:21 · 5038 阅读 · 0 评论 -
php 3种基本设计模式的组合使用
1.1 工厂模式,工厂方法或者类生成对象,而不是在代码直接new class Factory{ static function getDatabase(){ return new Mysql($host, $user, $pass); } } #使用 Factory::getDatabase();1.原创 2015-07-11 14:05:16 · 931 阅读 · 0 评论 -
3.PHP自定义错误处理器
1. 使用set_error_handler 自定义错误处理函数说明 1.创建错误处理函数 2.设置不同级别调用函数 3.set_error_handler函数指定接管错误处理 set_error_handler 说明mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL |原创 2015-07-11 11:57:09 · 1739 阅读 · 0 评论 -
php设计模式之单例模式
首先明确一下单例模式:如果希望在系统中某个类的对象只能存在一个,那么单例模式是最好的解决方案。接下来让我们提炼出单例模式的几个关键点:假如有一个单例类,叫做 Singleton,那么:1 singletonObj 对象应该可以被系统中的任何对象使用2singletonObj 对象不应该被存储在会被覆写的全局变量中3系统中不应超过一个singletonObj对象,也就原创 2014-12-07 16:25:41 · 2268 阅读 · 0 评论 -
php设计模式之观察者模式
/** * Interface Observable * define a observable interface * @author jichao.wang */interface Observable{ function attach(Observer $observer); function detach(Observer $observer); f原创 2014-12-20 16:27:11 · 1588 阅读 · 0 评论 -
Mysql 中间件 oneProxy总结
0. 先对 oneproxy 有个大概的了解 建议使用之前把官方的文档全部通读一遍 这里提供一个我的网盘地址oneproxy 百度网盘1. MySQL服务器创建test用户,密码test存在test数据库确认oneproxy能登录1.1 注意事项所有MySQL节点有相同的用户名和口令所有MySQL节点有相同的数据库名所有MySQL节点使用相同的字符集设置前端应用程序可以切换操作集群原创 2016-05-11 15:50:52 · 10654 阅读 · 3 评论 -
Mysql 的查询缓存参数介绍与优化思路
查询缓存的参数说明(my.cnf)mysql> show global variables like "query_cache%"; Variable_name Value desc query_cache_limit 1048576 Mysql允许缓存的单个缓存对象的最大值,不过mysql只有在查询的所有结果都返回后才知道其是否超出此大小,但是在查询一开始便会尝试使用缓存存储原创 2016-05-20 17:42:37 · 1368 阅读 · 2 评论 -
Gearman 异步任务软件的介绍
尽管一个 Web 应用程序的大部分内容都与表示有关,但它的价值与竞争优势却可能体现在若干专有服务或算法方面。如果这类处理过于复杂或拖沓,最好是进行异步执行,以免 Web 服务器对传入的请求没有响应。实际上,将一个计算密集型的或专门化的功能放在一个或多个独立的专用服务器上运行,效果会更好。常用的缩略词producer 指的是生成工作请求的机器; consumer 是执行工作的机器; agent转载 2016-07-01 14:55:35 · 861 阅读 · 0 评论 -
使用canvas带你演示一致性Hash算法的机制
演示地址: 点击这里github: github截图原创 2016-07-09 15:15:56 · 887 阅读 · 0 评论 -
编译php-memcached 扩展时候遇到的问题Unable to find memcached.h
这个问题之前就遇到过,记得最后是通过下载源码包来指定路径的,今天又从新安装环境结果一定要试试,因为我知道只要安装这种libmemcached-devdev包就一定有头文件,结果最后通过查询资料真的让我找到了,以下记录这个过程首先安装依赖以编译安装sudo apt-get install libmemcached libmemcached-devpecl download memcachedtar原创 2016-09-13 07:08:11 · 6024 阅读 · 1 评论 -
深入了解laravel消费队列的两种工作模式
由来一直在用laravel的Queue, 并且最近使用中也遇到一些问题,急迫的想搞清楚Laravel中的Queue到底是如何跑起来的 大家都知道Queue的运行有两种模式,一种是Wok, 一种是Listen, 在看过的博客中讲到的都不是很深入,大部分都是重复的Copy, 没有特别详细的讲解,知其然,而不知所以然,对于喜欢为Why的Coder来说很痛苦,于是就有了这篇文章,希望对您能有帮助辅...原创 2018-03-01 17:27:29 · 7950 阅读 · 1 评论 -
PHP如何记录错误和发送错误
PHP如何记录错误和发送错误1. 使用 pecl extension SeasLog1. 为什么使用SeasLog高性能 (使用C语言开发,写在缓存池中,等到达到一定量的时候一次性写入文件中,解决了频繁写入带来的速度慢的问题)无需配置功能完善,使用简单2. install & configpecl install seaslogvim /usr/local/php/etc/php.ini原创 2016-02-27 11:48:37 · 1119 阅读 · 0 评论 -
Php-Redis 邮件队列实现总结
Php-Redis 邮件队列实现总结原创 2016-02-27 11:29:03 · 6021 阅读 · 0 评论 -
提高代码质量:如何编写函数
1. 命名1. 帕斯卡命名法帕斯卡命名法简单地说就是:多个单词组成一个名称时,每个单词的首字母大写。比如:class Person{}这种命名法常用于类名定义2. 驼峰命名法驼峰命名法和帕斯卡命名法很类似,多个单词组成一个名称时,第一个单词全部小写,后面单词首字母大写。比如:var sendMessage = function () {};var calculatePrice = fu转载 2016-03-04 19:02:11 · 1057 阅读 · 0 评论 -
PHP设计模式之适配器模式
1.说明 1.适配器模式: 可以将截然不同的函数接口封装成统一的API 2.实际应用举例,PHP的数据库操作有mysql, mysqli, pdo3种,可以用适配器模式统一成一致。类似的场景还有cache适配器,就是将memcache,redis,file,apc等不同的缓存函数统一成一致的 3.下面的例子可以帮助你对付各种数据库链接功能,mysql mysqli, pdo随便选,原创 2015-07-12 13:47:00 · 875 阅读 · 0 评论 -
PHP中的异常处理
1.什么是异常?异常和错误有什么区别? 1.异常:程序运行与预期不太一致,与错误是两个不同的概念! 2.抛出和捕获异常 3.多个catch块的时候基类要往后放,否则基类捕获异常后就不会往下继续捕获了! 3.先出现错误,在出现异常,所以写api的时候一定要把display_errors关掉 4.php的内置异常error_reporting(-1);ini_set('d原创 2015-07-13 10:28:45 · 3099 阅读 · 0 评论 -
php设计模式之装饰器模式
1.介绍 1.装饰器模式(Decorator),可以动态地添加修改类的功能 2.一个类提供了一项功能,如果要在修改并添加额外的功能,传统的编程模式,需要写一个子类继承它,并重新实现类的方法 3.使用装饰器模式,仅需在运行时添加一个装饰器对象即可实现,可以实现最大的灵活性。2.实例 接下来我们举一个例子,使用php实现一个小画板的功能(画指定颜色图形)1.没使用装饰器之前的传统原创 2015-07-13 18:22:17 · 902 阅读 · 0 评论 -
php设计模式之迭代器模式
1.概念介绍 1.迭代器模式:在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。 2.相比于传统的编程模式,迭代器模式可以隐藏遍历元素的所需的操作。 3.这里介绍的迭代器需要实现(implements)PHP SPL 里面的Iterator,需要实现5个方法(current, next,valid,rewid,key)2.代码展示namespace braveclass A原创 2015-07-15 09:08:56 · 737 阅读 · 0 评论 -
php中empty,isset和array_key_exists的区别和技巧
1. 关于empty 1.判断一个变量是否为空,注意这个”空“,null,0,false。都属于空 实际上,当值为0的时候,咋能认为他是“空”呢?以下的情况将被考虑为空 * 0 (0 as an integer) * 0.0 (0 as a float) * "0" (0 as a string) * NULL * FALSE * array转载 2015-09-16 16:13:05 · 2247 阅读 · 0 评论 -
四种多服务器共享session的方法
伴随网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。 此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服务器上;或通过负载均衡技术(如:DNS轮询、Radware、F5、LVS等)让多个频道共享一组服务器。 OK,头脑中我们已经构思了这样的解决方案,不过进入深入开发后新的技术问题又转载 2015-08-26 11:08:08 · 3599 阅读 · 0 评论 -
phpfpm使用自带的status优化步骤
php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。为了后续的zabbix监控,我们需要先了解php-fpm状态页是怎么回事。1. 启用php-fpm状态功能# cat /usr/local/php-5.5.10/etc/php-fpm.conf | grep status_pathpm.status_path = /status2.原创 2015-09-22 17:38:27 · 1055 阅读 · 0 评论