php
文章平均质量分 89
yangqicong
这个作者很懒,什么都没留下…
展开
-
require(),include(),require_once()和include_once()区别
面试中最容易提到的一个PHP的问题,我想和大家共勉一下: require()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。我把这两个语句放在一起介绍,读者可以比较学习。 1.require()语句 require()语转载 2011-09-21 14:29:55 · 636 阅读 · 0 评论 -
PHP header()
下面是关于header函数的详细使用说明:不管页面有多少 header,它会执行最后一个,不过是有条件的,例如:header('Location:http://www.jb51.net'); header('Location:http://www.g.cn'); header('Location:http://www.baidu.com'); 这个就会跳到百度he转载 2011-11-11 15:15:28 · 511 阅读 · 0 评论 -
thinkphp基本配置 convention.php
return array( /* 项目设定 */ 'APP_DEBUG' => false, // 是否开启调试模式 'APP_DOMAIN_DEPLOY' => false, // 是否使用独立域名部署项目 'APP_SUB_DOMAIN_DEPLOY' => false, // 是否开启子域名原创 2011-12-07 12:20:32 · 1767 阅读 · 0 评论 -
PHP autoload机制详解
(1) autoload机制概述在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子:/* Person.class.php */clas原创 2011-12-07 14:58:50 · 452 阅读 · 0 评论 -
一个快速的消息队列(最大堆)
消息队列大家应该都听过了, 至于消息队列有什么用呢?如果大家有个网站需要1秒钟处理10000次数据库的话, 我相信数据库是顶不住的, 这个时候可以使用消息队列:把操作数据库的请求先保存到消息队列中, 然后通过取得消息队列的操作, 一个个的操作数据库, 这样就可以减缓数据库的负担.kmessage, 是我最近写的一个消息队列, 其实不是队列, 而是最大堆(因为最大堆可以设置权限, 队转载 2011-12-11 22:55:43 · 793 阅读 · 0 评论 -
利用PHP操作Linux消息队列完成进程间通信
利用PHP操作Linux消息队列完成进程间通信 当我们开发的系统需要使用多进程方式运行时,进程间通信便成了至关重要的环节。消息队列(message queue)是Linux系统进程间通信的一种方式。 关于Linux系统进程通信的概念及实现可查看:http://www.ibm.com/developerworks/cn/linux/l-ipc/ 关于Linux系转载 2011-12-11 22:47:32 · 1982 阅读 · 0 评论 -
PHP下用Memcache 实现消息队列
Memcache 一般用于缓存服务。但是很多时候,比如一个消息广播系统,需要一个消息队列。直接从数据库取消息,负载往往不行。如果将整个消息队列用一个key缓存到memcache里面,对于一个很大的消息队列,频繁进行进行大数据库的序列化 和 反序列化,有太耗费。下面是我用PHP 实现的一个消息队列,只需要在尾部插入一个数据,就操作尾部,不用操作整个消息队列进行读取,与操作。但是,这个消息队列不是转载 2011-12-11 22:41:13 · 1153 阅读 · 0 评论 -
Web应用中的轻量级消息队列
欢迎访问我的新主页:http://huoding.com/Web应用中为什么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达mysql,直接导致无数的行锁表锁,甚至最后请求会堆积过多,从而触发too many connections错误。通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力转载 2011-12-11 22:44:03 · 604 阅读 · 0 评论 -
PHP MVC及模板引擎
模板引擎,这四个字听起来很高深的样子,一般用到“引擎”两字都会感觉比较高级,类似游戏3D引擎、Zend引擎等,其实都是唬人的,骗外行人的。所以在我初学PHP的那会,也因为这四个字导致了我觉得很难而没有去看他到底是什么样一个东西,直到很长时间以后使用Smarty才真正了解模板引擎的原理和作用。Smarty(http://smarty.php.net),PHP官方模板引擎,看名字给人感觉应该很快,其实转载 2011-12-23 12:31:10 · 4872 阅读 · 0 评论 -
分布式系统设计之DB类
有几层分布:1、WEB分布,这个只需LVS支持即可,状态保持不保持无所谓,可以通过PHPSESSID来保持这个会话。因而接入服务器仅作为接入之用,存储转到后端,这里要保持接入机无用户文件还是比较难的,有时候保存一些可能会使系统更简单一些。2、CACHE分布,接入机统一处理会话,根据规则命中某台特定CACHE机,当然,这里的CACHE机器不仅限于如MEMCACHED、XCACHE等,简单的方转载 2011-12-22 16:53:04 · 900 阅读 · 0 评论 -
多数据库支持的应用程序设计
以前做PHP应用,多数是单数据库数据查询和更新,顶多也是主从数据库的支持,实现起来相对简单。主从数据库的问题在于,当会话存储在数据库的时候,同步将可能出现问题,也就是说有可能出现会话的中断。所以我想在主从数据库设计上,应该将所有会话相关表进行特殊对待。即:所有的会话数据表都可以更新和查询,当一个用户访问站点的时候,即将此用户绑定到指定数据库,所有会话访问和查询操作都对此数据库进行。会话表不做同步,转载 2011-12-22 16:59:50 · 1216 阅读 · 0 评论 -
一种PHP设计模式:DPT
一、DPT介绍PHP为什么在主流的应用中总是那么不出色,总是不如.Net/Java,就是因为在PHP处理大型应用的时候,那些不完整的面向对象机制、数据库处理的单一,不通用性等等,影响了PHP做大型应用。那么,如何来改变这个状况呢?当然就是需要引进一些新的设计方法,把PHP中不健全的面向对象机制完整起来,进行更好的PHP大中型应用的开发。从Java过来的MVC模式非常流行,而且已经有部分已经转载 2011-12-22 17:35:16 · 975 阅读 · 0 评论 -
PHP MVC及模板引擎
模板引擎,这四个字听起来很高深的样子,一般用到“引擎”两字都会感觉比较高级,类似游戏3D引擎、Zend引擎等,其实都是唬人的,骗外行人的。所以在我初学PHP的那会,也因为这四个字导致了我觉得很难而没有去看他到底是什么样一个东西,直到很长时间以后使用Smarty才真正了解模板引擎的原理和作用。Smarty(http://smarty.php.net),PHP官方模板引擎,看名字给人感觉应该很快,其实转载 2011-12-23 13:11:32 · 1175 阅读 · 0 评论 -
《Head First 设计模式》代码之PHP版
《Head First 设计模式》是本不错的讲解设计模式的书,不像F4写的那么枯燥,应该算是比较容易理解的好书。书中的例子都比较浅显易懂,不过由于是外国佬写的,所以例子的习惯不是很附合中国特色,可能偶尔看起来有些别扭,还有语言习惯也不是中国风。当然��看过这本书之后,你才能深刻理解设计模式到底能为你解决哪些问题,不能为你解决哪些问题(比如不能代替你的编码)。 我将书中部分代码改成PHP,看下转载 2011-12-23 13:18:18 · 756 阅读 · 0 评论 -
smarty模板中类似for的功能实现
1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$smarty.section.total.index+1} //当前的索引{$smarty.section.total.iteration} //用于显示循环的次数{/section}{assign var=i转载 2011-11-09 10:06:09 · 603 阅读 · 0 评论 -
Eclipse PDT安装配置XDebug和subversion(windows系统)
搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、mysql及php,然后使用eclipse IDE,安装配置xdebug和subversion,以及其他php开发中经常遇到的问题。安装XAMPPXAMPP安装包不仅集成了ph转载 2011-11-08 11:09:12 · 2466 阅读 · 0 评论 -
smarty基础之拼接字符串
困扰大家的smarty问题又出现了,就是拼接字符串,其实很简单的,在很久以前,我们都是用古老的方法,就是然后再来实现字符串的拼接,其实有一个简单好用的方法就是“|cat:” " /> 就这样,简单好用,不过有的时候还是要用到方法,具体问题具体分析吧转载 2011-11-14 11:04:31 · 2256 阅读 · 0 评论 -
php class中public,private,protected的区别,以及实例
一,public,private,protected的区别public:权限是最大的,可以内部调用,实例调用等。protected: 受保护类型,用于本类和继承类调用。private: 私有类型,只有在本类中使用。二,实例<?phperror_reporting(E_ALL);class test{ public $public; private $private;转载 2011-11-15 16:14:26 · 756 阅读 · 0 评论 -
php 两个美元符号:可变变量
PHP还有一个相当令人兴奋的特性:可变变量所谓可变变量,就是一个变量的变量名可以动态的设置和使用。看看下面的例子:1 php2 $a="hello";3 $hello="world";4 echo $a." ".$$a;5 ?> 输出的结果居然是hello,world.太神奇了。$$a其实就是$hello,因为$a的值是hello。变量就这多了。转载 2011-11-15 13:34:03 · 1514 阅读 · 0 评论 -
面试题
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)" u% j& q! s$ }0 V8 ~4 ?# ?date("Y-m-d H:i:s", strtotime("-1 days")); 2、echo(),print(),print_r()的区别(3分)echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即转载 2011-11-15 13:42:35 · 1467 阅读 · 0 评论 -
PHP重定向的具体实现方式
PHP重定向到另外一个页面应当如何实现呢?本文就为大家介绍了具体的PHP重定向的实现办法,希望下面介绍的这三种方法能够对有需要的读者朋友有所帮助。一、用HTTP头信息也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的转载 2011-11-17 14:53:27 · 681 阅读 · 0 评论 -
用PHP来做负载均衡
用PHP来做负载均衡指南过去当运行一个大的web应用时候意味着需要运行一个大型的web服务器。因为你的应用吸引了大量的用户,你将不得不在你的服务器里增加更多的内存和处理器。今天,“大型服务器”模式已经过去,取而代之的是大量的小服务器,使用各种各样的负载均衡技术。“更多小服务器”的优势超过过去的“大型服务器”模式体现在两个方面:1. 如果服务器宕机,那么负载均衡系统将停止请求转载 2011-11-18 13:31:13 · 1008 阅读 · 0 评论 -
smarty --foreach详解
Smarty -Manua手册 - Chapter 7. Built-in Functions第7章 内建函数 -{foreach},{foreachelse}用于像访问序数数组一样访问关联数组{foreach},{foreachelse}Attribute Name属性名称Type类型Required必要Default默认值Description描述转载 2011-11-01 13:44:53 · 1325 阅读 · 0 评论 -
Smarty 获取数组的长度
分配了一个数组array给Smarty,假设Smarty的分界符为'{'和'}'。在很多资料上都看到,在Smarty中要求数组的长度时,可以用在数组后便加|count的方法调用。即通过{array|count}获得array的长度。但是今天在写模板时,发现这样得不到数组的长度,而只是得到一个返回的字符串Array。也就是说仅仅是返回了{array}的结果,而没有返回其array的长度。转载 2011-11-01 15:06:04 · 14834 阅读 · 0 评论 -
Smarty中的foreach
Smarty中的foreach,foreachelse [循环处理数组]相关参数: 属性 类型 是否必须 缺省值 描述 from string转载 2011-11-03 12:11:29 · 553 阅读 · 0 评论 -
smarty模板文件中执行php代码 调用php函数的方法 使用对象等
smarty 执行php代码 调用php函数 虽违背smarty但不失灵活,有时候也在SMARTY中也不得不使用PHP的相关函数和一些语句的PHP Code复制内容到剪贴板{php} echo "alert('here is php method run ~!');"; {/php} 因为应用需要,要在Smarty中调用PHP函数,实现办法如下:转载 2011-11-04 10:13:10 · 8221 阅读 · 0 评论 -
php中static、const和define的区别
define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议。)宏的语法为:#define 宏名称 宏值作为一种建议和一种广大程序员共同的习惯,宏名称经常使用全部大写的字母。利用宏的优点:1)让代码更简洁明了当然,这有赖于你为宏取一个适当的名字。一般来说,宏的名字更要注重有明确直观的意义,有时宁可让它转载 2011-11-07 13:57:53 · 5344 阅读 · 0 评论 -
Smarty 获取当前日期时间和格式化日期时间
在Smarty 中获取当前日期时间和格式化日期时间与PHP中有些不同的地方,这里就为您详细介绍:首先是获取当前的日期时间:在PHP中我们会使用date函数来获取当前的时间,实例代码如下:date("Y-m-dH:i:s"); //该结果会显示为:2010-07-27 21:19:36 的模式但是在Smarty 模板中我们就不能使用date 了,而是应该使用 now 来获转载 2011-11-01 16:18:15 · 19051 阅读 · 0 评论 -
php获取当前URL地址
$url_this = "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];echo $url_this;服务器变量:$_SERVER注: 在 PHP 4.1.0 及以后版本使用。之前的版本,使用 $HTTP_SERVER_VARS。$_SERVER 是一个包含诸如头部(headers)、路径(paths)和脚本位转载 2011-11-07 17:04:47 · 3270 阅读 · 0 评论 -
php 解析xml 的四种方法
XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument。1。 XML Expat Parser:XML Parser使用Expat XML解析器。Expat是一种基于事件的解析器,它把XML文档视为一系列事件。当某个事件发生时,它调用一个指转载 2012-01-06 18:19:58 · 803 阅读 · 0 评论