
PHP开发
weiyong1999
改变思想、提升能力、不断的自我丰富,此乃人生之一大乐趣。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP回调函数的实现方法
前言 最近在开发一个PHP系统,为了提高系统的扩展性,我想在系统中加入类似Javascript的事件处理机制,例如:我想在一篇新闻被添加以后,我想记录一下日志,用类似Javascript的代码,应该是这样写的:function fnCallBack( $news ){ //将$news的信息记录到日志中 writeLog( $news->ge转载 2014-03-02 18:44:49 · 1110 阅读 · 1 评论 -
PHP中文URL编解码详细说明
urldecode() 和 rawurldecode() 解码出的字符串是 UTF-8格式的编码,如果URL中含有中文的话,而页面设置又不是 UTF-8 的话,则要把解码出的字符串进行转换,才能正常显示php教程中文url编解码详细说明在php中urlencode和rawurlencode 是对中文进行编码的string urlencode ( string str转载 2013-07-29 09:55:52 · 2425 阅读 · 0 评论 -
前端网站开发常用jquery功能插件
用途数据传送——ajax数据传送(html/xml/json)jQuery JSON PluginDOM数据读取——读取元素对象的相关属性http://docs.jquery.com/Plugins/Metadata数据验证(表单验证)——jQuery Valid8http://drupalmodules.com/module/jquery-valid8动画插件(缓原创 2013-07-30 11:20:15 · 727 阅读 · 0 评论 -
PHP 观察者模式
<?php /** * 观察者模式 * * 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新 * 能够便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能 * 插件系统 */ class Observerable { private $_observers=array(); public function原创 2013-06-20 19:16:27 · 534 阅读 · 0 评论 -
php 反射机制实现代理模式
<?php class test{ function callprint() { print_r("onesdf"); } function test2($args='') { print_r($args); } } class testDelegator { private $targets; function __construct($obj) {原创 2013-06-08 10:29:32 · 719 阅读 · 0 评论 -
Apache的URL重写规则的标志详细说明
Apache的URL重写规则的标志详细说明 1) R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost/[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。 2) F(force URL to be forbidden)禁用URL,返回403HTTP状态码。转载 2013-05-06 13:16:34 · 505 阅读 · 0 评论 -
Apache的URL重写规则的标志详细说明
Apache的URL重写规则的标志详细说明 1) R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost/[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。 2) F(force URL to be forbidden)禁用URL,返回403HTTP状态码。转载 2013-05-06 13:15:45 · 772 阅读 · 0 评论 -
国外优秀开源PHP建站程序一览
大量的PHP开源(开放源代码/Open Source)应用改变了这个世界,改变了互联网,以下我们总结从数据库到购物、博客等众多类型的开源PHP软件,供网站开发者们参考。 博客:WordPress WordPress是使用PHP开发的著名博客平台,免费开源,功能强大,不仅仅用于博客搭建,还可以广泛应用于各类网络信息发布平台。 论坛:phpBB phpBB是一种转载 2013-05-05 16:47:00 · 803 阅读 · 0 评论 -
SQL语句分类
SQL语句分类: 1:数据定义语言(DDL) 用于创建、修改、和删除数据库内的数据结构,如:1:创建和删除数据库(CREATE DATABASE || DROP DATABASE);2:创建、修改、重命名、删除表(CREATE TABLE || ALTER TABLE|| RENAME TABLE||DROP TABLE);3:创建转载 2012-08-27 20:06:02 · 999 阅读 · 0 评论 -
var_export的实现以及局部变量、静态变量、参数的使用
局部变量、静态变量、参数在递归回溯中的使用:1、静态变量在参与递归回溯的过程中变量的值如果被改变,那么回溯时值也会是被改变的值。2、局部变量在函数回溯过程中值不会改变,保存递归调用之前的值。3、参数和局部变量差不多一样,但是参数可以在递归调用时传递参数——与回溯无关。<?php class a { public function __construct()原创 2013-04-13 19:09:21 · 862 阅读 · 0 评论 -
php 无限级分类以及树型显示分类关系
数据库表的设计结构:category_id分类标识,category_name分类名,category_fid父分类id,category_path路径;其实这个表的设计达不到无线分类的需求。原创 2012-11-15 21:12:13 · 627 阅读 · 0 评论 -
php clean html 可以设置过滤及保留属性
类:Php代码 function reg_escape( $str ) { $conversions = array( "^" => "\^", "[" => "\[", "." => "\.", "$" => "\$", "{" => "\{", "*" => "\*", "(" => "\(", "\\" => "\\\\", "/转载 2012-08-21 09:22:09 · 1182 阅读 · 0 评论 -
分类的信息扫描
/**分类的信息扫描算法1:1、按照分类的id顺序开始(主分类id必然在子分类的前面)2、用数组结构记录所有分类信息——为避免分类的层次过深不好寻找某分类的信息,利用类似线索二叉树的扫描方式,实现快速定位分类,一个分类关系的数组(这个是有层次的),一个是线性的数组(一维的就可以了,方便索引)。3、扫描到主的数据就添加到关系数组的顶级层4、扫描到子的数据就添加到关系数组的顶级层的原创 2013-08-05 14:46:25 · 643 阅读 · 0 评论 -
PHP截取html文章
/* 生成摘要* @param (string) $body* 正文* @param (int) $size* 摘要长度* @param (int) $format* 输入格式 id*/ function blog_summary($body, $size, $format = NULL){ $_size = mb_strlen($body, "utf-8');转载 2013-08-20 16:53:24 · 787 阅读 · 0 评论 -
inline-block 在什么情况下可以使用?
序言在css中,inline-block:将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内。轻松使用inline-block属性浏览器兼容性Chrome Firefox 3 +OperaIE 8 +IE6,IE7 只支持特定标签的inlin转载 2013-09-02 23:07:27 · 716 阅读 · 0 评论 -
23种设计模式全解析
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式转载 2014-03-01 22:06:04 · 1029 阅读 · 0 评论 -
VO、DTO、DO、PO的概念、差别和用处
VO、DTO、DO、PO的概念、区别和用处概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,转载 2014-03-01 19:09:04 · 998 阅读 · 0 评论 -
PHP系列学习之AOP
介绍 你以前听说过AOP(Aspect Oriented Programming)吗?虽然在php方面,好像没有过多的使用,但是在企业级开发中,AOP被广泛使用。我将借此文,向大家介绍PHP方面的AOP。 这篇文章主要解释AOP的概念。 什么是AOP? 在应用开发中,我们经常发现需要很多功能,这些功能需要经常被分散在代码中的多个点上转载 2014-02-28 15:08:55 · 604 阅读 · 0 评论 -
Decorator_装饰模式_PHP语言描述
Decorator_装饰模式的定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更加灵活。应用Decorator_装饰模式解决问题的思路:考虑这样一个应用场景,即灵活的实现奖金的计算。在实际的应用中,很多公司对于销售人员的奖金计算方式五花本门,并且经常变动。是非常复杂的。首先是奖金的分类,对于个人大致有个人当月业务奖金、个人累计奖金、个人业转载 2014-02-28 20:44:26 · 760 阅读 · 0 评论 -
PHP三层结构(下) PHP实现AOP第1/2页
让我们把注意力集中到中间服务层上来。中间服务层代码比较简单,只是调用数据访问层代码将留言保存到数据库。如代码1所示: 复制代码代码如下:// 代码 1 // 中间服务层 class LWordServiceCore implements ILWordService { // 添加留言 public function append($newLWord) { /转载 2014-02-28 17:59:56 · 641 阅读 · 0 评论 -
魔力函数
首先下载一个redis的安装包:windows:http://code.google.com/p/servicestack/wiki/RedisWindowsDownloadlinux:http://code.google.com/p/redis/downloads/listredis-2.0.0版本: redis-2.0.0 (208)redis-2.4.5版本: redis转载 2012-08-27 20:16:11 · 2100 阅读 · 0 评论 -
无刷新上传文件的三种方式。
1、最容易想到的就是基于flash的方式,我们可以使用swf插件2、可以使用iframe上传文件3、使用html5的新属性和新方法难点PS:1、获取本地文件信息(不同浏览器方法还不同)。2、原创 2013-09-19 11:08:46 · 795 阅读 · 0 评论 -
五种常见的设计模式
1、工厂模式2、单例模式3、观察者模式4、职责链模式5、策略模式原创 2013-09-14 14:27:53 · 848 阅读 · 0 评论 -
php preg_match正则函数的使用注意
1、长度大小的限定(最好限制匹配的长度pcre.backtrack_limit变量,手动在php.ini设置,程序使用ini_set设置 )2、使用正则的过程中会消耗堆栈资源(最好限制)3、为了避免出现服务器崩溃的情况(最好限制内存的大小)原创 2013-09-14 14:42:49 · 856 阅读 · 0 评论 -
php的网络编程(socket、curl、file_get_contents)三种方式。
socket的是网络编程的最根本。(socket的三个初始变量:一个ip协议,一个socket类型,一个公用的网络协议)其他的通信方式都是依赖其完成的(只是封装的东西多了一些,方便使用,比如curl)。原创 2013-09-14 14:33:17 · 970 阅读 · 0 评论 -
经典正则表达式
php正则匹配汉字!/^[\x{4e00}-\x{9fa5}]+$/u以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果。下面是utf-8编码的例子:$str = "汉字";if (preg_match("/^[\x{4e00}-\x{9f转载 2013-03-26 10:24:04 · 631 阅读 · 0 评论 -
PHP 文件上传类
<?php class upLoad{ private $fileName;//文件名 private $fileType;//文件类型 private $fileSize;//文件的大小 private $fileTemp;//临时文件 private $error;//上传是否有错误 private $maxSize;//允许的最大上传文件尺寸 private $原创 2012-12-23 17:00:36 · 1783 阅读 · 0 评论 -
discuz的cookie加密法
一:Discuz!登陆验证Cookie机制分析在构建登录验证的过程中,发现管理员管理的便捷与系统安全隐患之间的矛盾.全站采用cookie验证,比如wordpress的验证就是基于cookie的,由于cookie的明文传输,在局域网内极易被截获,或者这个vita在我不发骚的情况下存在了XSS漏洞的话,cookie被人截获,在这种情况下,等于站点被人xxoo了;另一种情况就是利用session来进转载 2012-09-01 09:06:13 · 8134 阅读 · 0 评论 -
五种常见的 PHP 设计模式
设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说转载 2012-08-21 09:18:46 · 335 阅读 · 0 评论 -
PHP 异常处理
异常(Exception)用于在指定的错误发生时改变脚本的正常流程。 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。当异常被触发时,通常会发生:当前代码状态被保存代码执行被切换到预定义的异常处理器函数根据情况,处理器也许会从保存的代码状态重新转载 2012-08-21 09:17:25 · 387 阅读 · 0 评论 -
PHP 中使用工厂模式
工厂类是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的,它允许动态的替换类,修改配置,通常会使应用程序更加 灵活,熟练掌握工厂模式高级PHP开发人员是很重要的。 工厂模式通常用来返回符合类似接口的不同的类,工厂的一种常见用法就是创建多态的提供者,从而允许我们基于应用程序逻辑或者配置设置来决定应实例化哪一个 类,例如,可以使用这样的提供者来扩展一个转载 2012-08-21 09:09:49 · 601 阅读 · 0 评论 -
PHP实现单件模式的几种方式
单件模式是我们在开发中经常用到的一种设计模式,利用PHP5面向对象的特性,我们可以很容易的构建单件模式的应用,下面是单件模式在PHP中的几种实现方法:Php代码 class Stat{ static $instance = NULL; static function getInstance(){ if(s转载 2012-08-21 09:08:52 · 342 阅读 · 0 评论 -
PHP缓存技术
普遍缓存技术数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。举个常用的方法,多表关联的时候,把附表中的内容转载 2012-08-20 15:22:04 · 470 阅读 · 0 评论 -
关于ob_start()
关于ob_start()发表于:2012年02月16日 18:220ob_start()仅仅说作用,不说怎么用,怎么用自己找,网上都有,今天只是帮有点模模糊糊的人清楚起来。昨天看到朋友公司的代码就是类似上面这样的代码了,说白了没有任何意义的代码(我问了 不是为了setcookie header这类)。我仔细想过之后,然后上网搜索了一下,发现相当多的初学者(技术上的转载 2012-08-19 15:57:11 · 398 阅读 · 0 评论 -
php 函数嵌套
function outer(){ $nNumb=3; function inner(){ global $nNumb;//增加global,系统不会报错,但也无法得到你想要的结果 echo $nNumb;//这里不能这样直接使用$nNumb,也原创 2012-08-29 11:36:26 · 1003 阅读 · 0 评论 -
php 系统变量
例:url=http://www.douyouhaobaby.net/index.php?page=10&id=5以下的系统变量都是声明在index.php里面的$_SERVER['SCRIPT_NAME’];$_SERVER['SCRIPT_FILENAME‘]; 与__FILE__的区别是:当我们用include 或require 引入文件的时候获取到的路径就不一定相同了$原创 2012-07-14 16:37:44 · 333 阅读 · 0 评论 -
php url函数学习
//url操作$url='http://www.baidu.com/yming/test.php';echo '原ʼurl:'."$url".'';echo basename($url).'';echo basename($url,'.php').'';echo dirname($url).'';//realpath 可以获取文件所在的绝对路径 E:\php\xampp\htdocs\test原创 2012-07-12 09:07:35 · 531 阅读 · 0 评论 -
php设计模式 FlyWeight (享元模式)
php设计模式 FlyWeight (享元模式)发布:mdxy-dxy 字体:[增加 减小] 类型:转载运用享元技术有效的支持大量细粒度的对象,需要的朋友可以参考下。享元模式英文称为“Flyweight Pattern”,我非常感谢将Flyweight Pattern翻译成享元模式的那位强人,因为这个词将这个模式使用的方式明白转载 2012-08-24 15:56:36 · 1793 阅读 · 0 评论 -
PHP 单一入口的特有作用
在说单一入口之前,先说说多入口。Discuz!, PHPCMS 2008, DedeCMS 都是采用多入口的结构。多入口,即通过访问不同的 php 文件运行对应的功能。如:/index.php - 网站首页/show.php?id=1 - 内容页/list.php?page=2 - 列表页/login.php - 用户登录页……多入口都是通过包含头文转载 2012-08-27 10:08:52 · 406 阅读 · 0 评论 -
php中获取url与物理路径的总结
php中获取url与物理路径的总结在这里我想总结一下取得地址栏内URL及文件所属的我更路径的一些信息:运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建。这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用glob原创 2012-08-19 15:08:30 · 773 阅读 · 0 评论