随笔分类 -  Program

健康生活,快乐编程~~
摘要:PHP中提供了Autoload来帮助我们方便的进行文件的包含,但是autoload并非想象的那样能够处理所有的情况,今天就来记录一下前几天遇到的autoload存在的一些问题。 为什么要使用 Autoload。 在PHP中使用类时,我们必须在使用前加载进来,不管是通过 require 的方式还是 include 的方式,但是会有两个问题影响我们做出加载的决定。 首先是不知道这个类文件存放在什... 阅读全文
posted @ 2010-08-21 16:22 Cocowool 阅读(3807) 评论(4) 推荐(0)
摘要:GraphicsMagick 当前稳定版本:1.3.12(发布日期2010-03-08) 简单介绍: GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。 通过使用OpenMP可是利用多线程... 阅读全文
posted @ 2010-08-16 18:58 Cocowool 阅读(28021) 评论(3) 推荐(0)
摘要:现在有一个跨时区的应用,不同时区登录的用户需要看到自己时区的时间,同时也要能够进行时区的切换,有什么好办法么。 我的思路是,系统中所有存储的时间都是GMT(UTC)时间,用户登录时,根据用户所在的时区进行对应的显示。 首先了解一下PHP中时区的设置方法。PHP中进行设置的方法比较灵活多样,可以在php.ini中设置date.timezone属性、可以通过代码,调用ini_set(‘date.t... 阅读全文
posted @ 2010-07-17 12:17 Cocowool 阅读(1694) 评论(0) 推荐(0)
摘要:莫笑我老土,因为我确实是最近才听说REST风格的,以前就是觉得 /category/product/pid 这样的地址非常的漂亮,但是那只是表象罢了,了解深入以后,发现必须有一个客户端的Ajax Engine和Server端的服务配合,才能实现一个REST风格的应用,下面就是我的实验。 问题? 要对外提供哪些服务。服务器端的服务可能会被众多的浏览器请求,也可能被第三方应用程序所调用,所以需要... 阅读全文
posted @ 2010-07-12 15:16 Cocowool 阅读(9693) 评论(5) 推荐(6)
摘要:REST(Representational State Transfer)是一种开发思想,互联网不断发展,富媒体越来越多的应用,不断地冲击着我们的应用,使应用的可扩展性和系统复杂性不断增加,还好,出现了基于Ajax的应用架构,让我们可以继续REST的风格。 尽管互联网在几十年前就在实验的环境下产生了,但是真正的扩张还是在 Tim Berners-Lee完成了网络几个主要组件的原型之后,它们包括:... 阅读全文
posted @ 2010-07-12 11:04 Cocowool 阅读(4030) 评论(0) 推荐(0)
摘要:XHProf 这个软件本是Facebook内部的一个应用工具,2009年3月份开源,为PHP的性能监测提供了很好的工具。官方的介绍中提到: XHProf is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time and memory usage. XHProf's light-weight nature and aggregation capabili 阅读全文
posted @ 2010-06-02 17:53 Cocowool 阅读(14480) 评论(0) 推荐(3)
摘要:虽然没有POST方法使用广泛,但是PUT方法却是向服务器上传文件最有效率的方法。POST上传文件时,我们通常需要将所有的信息组合成 multipart 传送过去,然后服务器再解码这些信息,解码过程则必不可少的会消耗内存和CPU资源,这种现象在上传大文件时尤其明显。而PUT方法则允许你通过与服务器建立的socket链接传递文件的内容,而不附带其他的信息。 最近一个项目上需要利用这种方式来进行文件的... 阅读全文
posted @ 2010-05-31 14:09 Cocowool 阅读(14100) 评论(6) 推荐(2)
摘要:默认安装的LAMP环境中,时区默认设置在GMT时间,所以一般得到的时间都会比我们电脑中显示的时间早八个小时(假设你的时间设置正确,并且时区是在东八区)。PHP提供了两个函数用来处理时区的操作: date_default_timezone_set() 和 date_default_timezone_get() 如果我们希望更改服务器默认的时区,修改 php.ini 文件中的 ;date.time... 阅读全文
posted @ 2010-02-06 15:48 Cocowool 阅读(2964) 评论(0) 推荐(1)
摘要:采用典型的LAMP架构开发的时候,环境中多处涉及到编码的指定,有一个地方忽略,都有可能造成页面汉字乱码的产生,本文将总结这些乱码产生的可能的原因,方便我们排查。 1、页面中的问题。 每个网页文件都有其编码,同时网页文件的源码中,也有一个位置会告诉浏览器,这个页面应该用什么样的编码去解释。 <meta http-equiv=”Content-Type” content=”text/html... 阅读全文
posted @ 2010-02-05 09:01 Cocowool 阅读(3749) 评论(0) 推荐(0)
摘要:选择的版本分别为 apache 2.2.14 with ssl php 5.2.11 mysql 5.1.41 系统环境为 Windows XP SP3 安装过程: 1、安装apache。 这个非常简单,双击后一路 next ,在填写域名和主机名的时候可以随便写,比如 test.com/www.test.com ,然后写下自己的邮箱,安装完成。 完成后,通过 http://localh... 阅读全文
posted @ 2009-12-10 08:30 Cocowool 阅读(6591) 评论(0) 推荐(0)
摘要:在Mysql 众多表中查找一个表名或者字段名的 SQL 语句: SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name'; 下面两种方法也可以查到: SELECT column_name from information_schema.columns WHERE c... 阅读全文
posted @ 2009-12-04 16:59 Cocowool 阅读(18250) 评论(1) 推荐(2)
摘要:PHP中的全局变量$_SERVER['PATH_INFO']是一个很有用的参数,众多的CMS系统在美化自己的URL的时候,都用到了这个参数。对于下面这个网址:http://www.test.com/index.php/foo/bar.html?c=index&m=search我们可以得到 $_SERVER['PATH_INFO'] = ‘/foo/bar.html’... 阅读全文
posted @ 2009-09-17 17:55 Cocowool 阅读(5590) 评论(0) 推荐(0)
摘要:传统的面相过程式的开发方式在处理中型以上的应用时,就开始显得力不从心。即便我们能够快速的完成需求,但是在需求发生变更后或者进行后期维护的时候,我们会深深地陷入我们早期搭建的陷阱中。所以,使用面向对象的方式来实现MVC模式,将为我们梳理程序的架构提供一个清晰的思路。什么是MVC?关于MVC的定义和解释,可以说多种多样。我们可以在Wiki或者[2]中找到更为详尽的解释,这里我并不打算,也没有能力进行深... 阅读全文
posted @ 2009-09-08 22:51 Cocowool 阅读(18778) 评论(10) 推荐(0)
摘要:在查看一些PHP源码的时候,经常可以看到一些非常标准的注释信息$Id: Database.php 4343 2009-05-08 17:04:48Z jheathco $这个信息里包括了文件名,SVN版本,提交日期,作者,那么这个信息是如何生成的呢,今天终于发现了,原来是SVN提供的一个auto-props的功能。在我们使用的Zend Studio 6.1.2中,从SVN检出的项目,单击右键,选择... 阅读全文
posted @ 2009-09-05 23:44 Cocowool 阅读(2890) 评论(2) 推荐(0)
摘要:正则表达式,作为一种快速、便捷的处理字符串的工具,在各种编程语言中都有着广泛的用途,通过在PHP中的一些使用,下面记录一下关于PHP中正则使用的一些技巧。我的正则入门,是起源于网上的一篇文章[1],这篇文章由浅入深的阐述了正则使用的方法,我觉得是一个很好的入门材料,不过学成还是要靠个人,在使用的过程中,还是会不断地忘记,因此反反复复的阅读了这篇文章有四五遍,对于其中一些比较困难的知识点,甚至要用很... 阅读全文
posted @ 2009-08-24 16:51 Cocowool 阅读(3216) 评论(1) 推荐(2)
摘要:最近的一个项目,里面有一个比较大的表单,用户完成它需要很多时间,很多用户花了千辛万苦完成之后,一提交发现SESSION过期,系统退出了,所以引起了研究如何设置SESSION以及保持SESSION在线的需要,下面是一些心得体会。什么是SESSION?按照WIKI的解释,SESSION是存在于两个通信设备间的交互信息,在某一时间建立,经过一定的时间后失效。常见的SESSION有:TCP SESSION... 阅读全文
posted @ 2009-08-01 23:40 Cocowool 阅读(6192) 评论(13) 推荐(3)
摘要:Zend Studio是我们PHPer的一个非常的得力的工具,有了他往往能够让我们的工作事倍功半,今天就来记录一下日常使用中非常有用的配置,来帮助更多的PHPer提高工作的效率。1、配置服务器。如果我们希望能够快速的进行调试,那么将Server和Zend整合在一起是必不可少的。配置服务器的入口很多,比如我们可以从Preferences/PHP/PHP Server中进入,也可以在Run按钮的下拉列... 阅读全文
posted @ 2009-07-29 22:05 Cocowool 阅读(1447) 评论(0) 推荐(0)
摘要:大家都知道Windows下的回车换行和Linux下的回车换行有区别,分别是Windows -- \r\nLinux -- \n在我们的数据入库、出库的时候要特别注意这个问题,特别是在进行显示处理的时候,比如使用表单中的 textarea 进行了一段文字的提交,客户端是Windows的话就会包含\r\n,如果要显示在页面上,这些都是不起作用的,我们需要替换成页面中可以辨认的回车 <br /&g... 阅读全文
posted @ 2009-07-04 14:03 Cocowool 阅读(3668) 评论(2) 推荐(0)
摘要:如果你的团队很小并且在软件开发领域也没什么经验,那么放下包袱使用开源框架吧(OSS Framework),但是如果你有一个很大而且有丰富经验的团队,那么最好还是开发自己的框架。什么是框架,并没有明确的解释,但是似乎我们听到这个名词以后大概都知道是怎么回事。Wiki上是这么定义的:框架是一种可复用的系统化设计。软件的框架会包括支持程序、代码库、脚本语言以及一些其他的软件来帮助开发或者将项目中不同部分... 阅读全文
posted @ 2009-06-02 15:49 Cocowool 阅读(489) 评论(0) 推荐(0)
摘要:单件模式是我们在开发中经常用到的一种设计模式,利用PHP5面向对象的特性,我们可以很容易的构建单件模式的应用,下面是单件模式在PHP中的几种实现方法: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->class Stat{ stati... 阅读全文
posted @ 2009-03-18 17:12 Cocowool 阅读(5331) 评论(6) 推荐(0)