- 博客(157)
- 资源 (11)
- 收藏
- 关注
原创 Zend_Json 简单介绍 --(手册)
1. 简介Zend_Json 提供一个方便的方式来串联(native的)PHP(的变量)和JSON,并将JSON(对象)解码到PHP中。2. 基本用法Zend_Json的使用包括使用现有的两个公共的static方法 : Zend_Json::encode() 和Zend_Json::decode().// 获得一个value:$phpNative
2015-08-11 14:31:16
949
原创 Zend_Http_Client 执行http请求 --(手册)
1. 介绍 Zend_Http_Client 提供了一个简单的界面来执行HTTP请求。Zend_Http_Client 支持 作为一个 HTTP 客户端应有的大多数简单功能,也包括象HTTP认证和文件上传等更加复杂的功能。成功的请求和大多数失败的请求将返回一个 Zend_Http_Response 对象, 该对象提供了对响应的头部信息和主体信息的访问。 构造器类可选的第
2015-08-11 14:26:47
1794
原创 使用 Zend_Form 生成表单 --(手册)
Zend_Form 类用来聚合表单元素,显示组和子表单。它可以在这些条目中执行下列动作:校验,包括读取错误代码和消息 值聚合,包括组装(populating)条目和从所有条目读取过滤的和未过滤的值迭代所有条目,按它们键入的顺序或者从每个条目中读取的顺序提示来进行解析(rendering)整个表单,通过执行定制解析的单个装饰器(decorator)或者迭代(iterating)表
2015-08-11 13:13:13
1038
原创 基于Zend framework的投票系统的实现
代码下载:http://download.csdn.net/detail/u012675743/8989993
2015-08-11 12:53:13
399
原创 基于zend Framework 的购物车系统的实现
代码下载地址:http://download.csdn.net/detail/u012675743/8989985
2015-08-11 12:49:34
460
原创 使用 Zend_Form_Element 生成表单元素 --(手册)
表单由元素组成,它一般对应于 HTML 表单输入。Zend_Form_Element 封装了单个表单元素,并完成下列工作:校验(提交的数据有效乎?)抓取校验错误代码和消息过滤(在校验和/或输出之前元素如何转义或规范化?)解析(元素如何显示?) 元数据和属性(什么信息进一步修饰元素?)基础类 Zend_Form_Element 对许多类有合理的缺省设置,但最好还是继承
2015-08-10 19:57:22
1304
原创 Zend_Form 创建、校验和解析表单的基础--(手册)
1. 创建表单对象创建表单对象非常简单:只要实现 Zend_Form:<?php$form = newZend_Form;?>对于高级用例,需要创建 Zend_Form 的子类,但对于简单的表单,程序可以用Zend_Form 的对象来创建。如果想指定表单的动作和方法(总是好主意),用 setAction() 和 setMethod() 来完成:<?
2015-08-10 16:00:44
1136
原创 Zend Framework 中的autoloading使用
一. Goals and Design 1. Class Naming Conventions要弄明白Zend Framework中的autoloading,首先要明白类名与类文件的关系。Zend Framework 是从perl借鉴来的想法,class names和filesystem是一一对应的关系。简单的说,‘_’被用来作为目录的分隔符,以便解决文件的路径,然后再加
2015-08-10 15:16:17
2539
原创 Zend Framework 入门
一.Create YourProject详细请看这篇文章:http://blog.csdn.net/u012675743/article/details/45511019二.The BootStrapBootstrap用来定义你的项目资源和组件初始化。类如下://application/Bootstrap.php class Bootstrape
2015-08-10 14:05:26
2587
原创 Armstrong树
算法分析:在三位的整数中,例如153 = 1^3 + 5^3 + 3^3;这样的树称之为Armstrong树。Armstrong的寻找,其实就是求解如何分解一个三位整数的个位数、十位数、百位数、只需要除法和余数运算就可以了。然后再取整。例如:$abc;$a = inval($abc/100)$b =inval(( $abc%100)/10)$c =$abc%10算法实现
2015-08-07 16:22:00
565
原创 八枚硬币求解假币
算法分析:现有八枚银币a,b,c,d,e,f,g。已知其中一枚是假币,其重量不同于真币,但是不知谁轻谁重,如何使用天平以最少的比较次数,决定哪枚是假币,并得知真币和假币谁轻谁重。要求以最少的比较次数,我们不能使用单纯的回圈比较来求解,我们可以使用决策树, 具体决策树算法原理可以查看这篇文章~http://www.cnblogs.com/bourneli/archive/2013/03/
2015-08-07 14:57:20
1925
原创 巴斯卡三角形
算法分析:详情参考:http://blog.csdn.net/yxstars/article/details/8664955算法实现:<?PHPfunction basika($n,$r){ $p = 1; for($i = 1;$i < $r; $i++){ $p = $p *($n-$i+1)/$i;
2015-08-06 11:19:34
759
原创 费式序列(斐波那契数列)
算法分析:型如下的数列:1,1,2,3,5,8,13,21,34,55,89……称之为Fibonacci数列,习惯上称之为费式数列。解法公式: 算法实现:<?PHP//fibonacci实现function fibonacci($index){ if($index < 1){ return -1;
2015-08-06 10:09:55
1949
原创 河内之塔(汉诺塔)
算法分析:假如有三个盘子在塔A上,需要移到塔C,按照一定的规则,需要借助塔B,移动的情形如下: 当有3个盘子时,共需要2^3-1步,则当有n个盘子时,需要2^n-1步。算法实现:<?PHP//汉诺塔实现//n个盘子,x,y,z,三个柱子。 function Hanoi($n,$x,$y,$z){ if($n == 1){
2015-08-06 09:33:49
1609
原创 插入排序
插入排序它的基本思想是:从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描,如果该元素大于新元素,将该元素移到下一个位置,重复扫描,直到找到已排序的元素小于或者等于新的元素的位置,将新元素插入到下一位置中。算法如下:<?PHPfunction insertsort($arr){ $len = count($arr);
2015-08-05 21:34:57
520
原创 选择排序
选择排序它的基本思想是:每一趟从待排序的数据元素中选出最大或者最小的一个元素。顺序的放在已经排好序的数列的最后,直到全部待排序的数据元素排完,选择排序是不稳定的排序方法。算法如下:<?PHPfunction selectsort($arr){ $len = count($arr); for($i = 0; $i <= $len;$i ++){
2015-08-05 21:21:40
526
原创 快速排序
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据要小,然后再按此方法对这两部分数据进行快速排序,整个排序过程可以按照递归进行,以此达到整个数据编程有序序列。算法如下:<?PHPfunction quicksort($arr){ $len = count($arr); if
2015-08-05 20:44:26
334
原创 xml实现rss订阅
RSS是一种网页内容联合格式,是XML的一种,所有的RSS文档都遵循XML1.0规范。具体示例: 标题 链接地址 描述 描述语言 版本 时间
2015-08-05 20:22:36
2239
原创 DOM解析xml文件
Ceshi.php<?PHP $dom= new DOMdocument('1.0','UTF-8'); $dom->load("test.xml"); $rs= $dom->getElementsByTagName("title")->item(0)->nodeValue; print_r($rs);test
2015-08-05 20:18:15
392
原创 将csv格式数据导入MySql数据库
将csv文件或者excel表格导入数据库的方法:Excel数据直接导入mysql会需要用到phpexcel开源类,详情使用可以参考这篇文章~http://www.cnblogs.com/freespider/p/3284828.html本文使用的方法是:Excel ——> CSV——>MySql首先将excel另存为csv文件,然后开始分析数据。代码如下:<?PHP
2015-08-05 19:22:13
1863
原创 API之SOA和数据格式
定义: API代表应用程序编程接口,而接口指的是一个特定服务、一个应用程序或者与其他应用程序互动的公开模块。 使用API的原因: 使数据用于其他系统或者模块 以异步的方式向网站提供数据 构成一个面向服务器架构的基础 所以这些原因对增强API功能有巨大促进作用,事实上,大多数现代系统都需要某种形式的API,这是
2015-07-08 11:22:33
1630
原创 编码规范(四)之代码风格
1.缩进和空格 在书写代码的时候,必须注意代码的缩进规则: 使用4个空格作为缩进,而不使用tab缩进 变量赋值时,等号左右留出空格。 为了更大程度的减轻工作量,保持代码美观建议使用大型IDE管理代码。2. 语句断行 代码书写应遵循以下原则: 尽量保证程序语句一行就是一句。 尽量不要使一行的代码太长,一般控制在80个字符以内
2015-07-07 21:07:58
882
原创 编码规范(三)之注释规范
1. 程序注释 程序注释的原则如下: 写在被注释代码前面,而不是后面,但对于单行语句,按照习惯可以把注释放在语句的末尾。 对于大段注释,使用/**/格式,通常在文件和函数注释中使用,而代码内部统一使用//注释,因为其写起来简单。 注释不必太多,大家都看得懂的行不必注释。2. 文件注释 文件注释通常放在整个PHP文件头部
2015-07-07 21:06:12
2003
原创 编码规范(二)之命名规范
1.变量命名 PHP中的变量用一个美元符号后面跟着变量名表示。变量名区分大小写。一个有效的变量名由字母或者下划线开头,后面跟着任意数量的字母、数字或者下划线。不应该在变量名中使用中文等飞ASCII字符。 1)程序整体 程序整体以驼峰法命名,以小写字母开始,同时命名要有意义: FunctiondisplayName($name){echo $name;}2)PH
2015-07-07 20:58:29
1114
原创 一致性Hash分布算法实例
本文介绍使用PHP实现一致性Hash算法。创建一个FlexiHash类,他有两个成员变量和三个方法:$serverlist:保存服务器列表。$isSorted:记录服务器列表是否已经排过序。addServer:添加一个服务器到服务器列表中;removeServer:从服务器列表中删除一个服务器;lookup:在当前的服务器中寻找合适的服务器存放数据。【示例】:<?
2015-07-07 19:09:13
927
原创 memcached分布式布置方案
引入:当一台memcached服务器不能满足我们的要求时,需要布置多台服务器,那么问题来了,怎么确定一个数据该放在哪台服务器上呢?一般有两种方案,一个是普通hash分布,另一个是一致性hash分布。1. 普通hash分布 函数如下:functionmHash($key){ $md5 = substr(md5($key),0,8); $seed =
2015-07-07 16:14:05
1075
原创 深入理解memcached,高并发、懒惰与LRU(一)
1. Memcached如何支持高并发 Memcached使用多路复用I/O模型。传统阻塞I/O中,系统可能随时因为某个用户连接还没做好I/O准备而一直等待,知道这个连接做好准备。如果这是有其他的用户连接服务器,就很可能因为系统阻塞得不到响应。而多路复用I/O是一种消息通知模式,用户连接做好I/O准备后,系统才会通知我们这个连接可以进行I/O操作。这样就不会阻塞在某个用户连接
2015-07-07 15:03:23
5975
原创 memcached的LRU删除机制前篇
前言:当memcached中有100bytes的数据要存,但是122大小的仓库中chunk满了。并不会寻找更大的仓库去存储,而是把122仓库的旧数据T掉,这就是数据过期与删除机制。1. 当某个值过期之后,并没有从内存中删除,在使用stats命令时,发现curr_items 依然存在。只是当你去get,取数据的时候为空,才会删除,然后在查看stats,显示正确的curr_items。也就是没有
2015-07-07 14:57:58
828
原创 使用memcached加速web应用实例
在实际应用中,通常会把数据库查询的结果保存到memcached中,下次访问数据库时直接从memcached中获取,而不再进行数据库操作,这样很大的程度上减轻了数据库的负担。【示例】:<? $mc = new Memcache(); //创建memcache对象 $mc ->connect('127.0.0.1',11211);
2015-07-07 14:52:05
1458
原创 个人网盘2T资料整理分享(持续更新中)
一. 学习书籍下载1.数据库与数据结构数据 链接:http://pan.baidu.com/s/1c094nSG密码:13el2.汇编语言书籍 链接:http://pan.baidu.com/s/1o63Kke2密码:8udr3.Office书籍
2015-07-06 16:09:15
28965
5
原创 MySql性能调优(六)InnoDB引擎和Myisam引擎的性能对比
对于这两种存储引擎的选择,要根据项目的应用特点来权衡,而对于复杂的应用系统,也可以根据实际情况来选择多种存储引擎的组合。不过这种方法不建议采取。 MyISAM支持全文索引,这是一种基于分词创建的索引,支持一些比较复杂的查询,但不是事务安全的,而且不支持外键。每张MyISAM表存放在3个文件中:frm文件存放表格定义;数据文件是MYD;索引文件是MYI;对于MyISAM表,可以手工或者自
2015-05-31 22:30:28
1059
原创 MySql性能调优(五)采用合适的锁机制之表锁的演示
MySql的锁有以下几种形式:1. 表级锁;开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高 ,并发度最低。MyISAM引擎属于这种类型。2. 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突概率最低,并发度也最高。InnoDB引擎属于这种类型。3. 页面锁:开销和加锁时间介于表锁和行锁之间;会出现死锁;锁定粒度也介于两者之间,并发度一般。NDB属于这种类型。
2015-05-28 15:54:52
895
原创 MySql性能调优(四)快速修改表结构
1. 修改varchar类型为了满足需求,现要将varchar(6)改成varchar(8).这时更好的方法不是使用altertable modify,而是采用如下的步骤:A.创建一张临时表,把varchar设置为varchar(8),如下所示:B. 替换.frm表结构文件C. 然后查看就可以了。在windows下待测试。也可以参考文章:http:/
2015-05-28 15:40:16
1067
原创 MySql性能调优(三)之表的设计
一. 首先介绍几个概念:1. 完全函数依赖:在属性集U上的关系模式R(U)中,如果X->Y,并且对于X的任何一个真子集X’,都有X’≠>Y,则Y对X完全函数依赖。2. 传递函数依赖:在R(U)中,如果X->Y,Y->Z,则称Z对X的传递函数依赖。二. 范式 关系型数据库有6种范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴德斯科范式(BCNF),第四范式(
2015-05-28 15:38:10
871
原创 MySql性能调优(二)字段类型的选取之字符类型
字符类型:Char()用于保存固定长度的字符串,长度最大为255,比指定长度大的值将被截断,比指定长度小的值会用空格填补。Varchar()用于保存可变长度的字符串,长度最大为65535,只存储字符串实际需要的长度,但是会用1~2个字节来存储值得长度。如果列的最大长度小于或255,则使用1字节,否则就是2字节。Char和varchar与字符编码也有密切联系,GBK占用2个字节,UTF8
2015-05-28 15:29:53
1273
原创 MySql性能调优(一)字段类型的选取之时间类型
时间类型:1. 在MySql中支持5种时间类型,分别是DATE、TIME、DATETIME、TIMESTAMP和YEAR。在日常建表中我们要优先使用timestamp类型,它有自动更新时间的功能,示例:也可以设置不自动更新,只需默认值为空即可。如:2. year(2)类型会自动转换为year(4)类型
2015-05-28 15:26:28
992
原创 memcached内存分配机制
在C中,使用malloc分配内存时会产生内存碎片,即空闲零碎的空间无法利用。Memcached中的Slab Allocator机制缓解这一问题。基本原理:按照预先规定的大小,将内存分成数个slab仓库,然后将各仓库分割成特定长度的块(chunk),并把尺寸相同的块分成组,以完全解决内存碎片问题Memcached根据收到的数据的大小,选择最适合数据大小的slab。Memcac
2015-05-28 15:17:20
806
原创 memcached介绍和基本命令
【介绍】:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据 库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。【特点】:1.
2015-05-28 15:04:23
4931
原创 Zend Framework 中render、_forward 、redirect的区别
一. Render如果显示的视图是本控制器下面的某一个,就可以使用render$this ->render(‘bar’);//要找的是当前控制器下的bar视图。二._forward不是直接找的一个页面,而是找的控制器例如:$this->_forward(‘bar’,’barbar’);//找的是barbar控制器对应下的bar视图。需要新建一个barba
2015-05-28 14:55:24
670
原创 Zend Framework框架安装准备
首先,在hosts文件内添加以下一行代码至末尾。192.168.133.77 www.veaglefly.com试一试有没有成功,ping的通说明成功。 2. 创建虚拟主机在httpd.conf文件的末尾写入如下:注意:DocumentRoot指向了项目中的public子目录,意味着只有那个目录的文件暴漏在Apache下,其他文件不会开
2015-05-05 23:22:28
1950
docker_rpm.zip
2020-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅