http://museum.php.net/
找php5.2.8的memcache扩展找到这里,下载了个 pecl-5.2.6-Win32.zip,放到win下的php5.2.8下,居然好用,窃喜
布猫
Category Archives: Php
有个地方,叫做php博物馆
一些用到的eclipse插件的update地址
subclipseName: Subclipse 1.4.x (Eclipse 3.2+)
URL: http://subclipse.tigris.org/update_1.4.x Name: Subclipse 1.2.x (Eclipse 3.2+) URL: http://subclipse.tigris.org/update_1.2.x Name: Subclipse 1.0.x (Eclipse 3.0/3.1) URL: http://subclipse.tigris.org/update_1.0.x——————–JSEclipseName: JSEclipse from Adobe LabsURL : http://download.macromedia.com/pub/labs/jseclipse/autoinstall———————-CSS Editor (Eclipse Plugin)这是一个为Eclipse 提供的插件,可以编辑复杂的CSS功能。———————-wordwrap ”,“ URL ”中填入“ http://ahtik.com/eclipse-update/ ”,
—————————-
该项目主页:http://sourceforge.net/projects/csseditor/
REST的php初探
REST是什么?
REST(Representational State Transfer)是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。
REST架构遵循了CRUD原则,CRUD原则对于资源只需要四种行为:Create(创建)、Read(读取)、Update(更新)和Delete(删除)就可以完成对其操作和处理。这四个操作是一种原子操作,即一种无法再分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。
REST架构让人们真正理解我们的网络协议HTTP本来面貌,对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,因此REST把HTTP对一个URL资源的操作限制在GET、POST、PUT和DELETE这四个之内。这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST的基本模式
对一个资源的操作分为四种:Create(创建)、Read(读取)、Update(更新)和Delete(删除);
例如我的某一篇帖子
http://www.bumao.com/article/23
那么对它的操作就分为四类:
更新 向URL http://www.bumao.com/article/23 发送 PUT 请求
删除 向URL http://www.bumao.com/article/23 发送 DELETE 请求
查看 向URL http://www.bumao.com/article/23 发送 GET 请求
创建新的博贴 向URL http://www.bumao.com/article 或者 http://www.bumao.com/article/24 (直接写ID,这种一般很少见) 发送 POST 请求
我想把某篇帖子置顶咋办呢?那么就得从资源角度上再来考虑针对“置顶资源”的操作了
发送 PUT 请求到 http://www.bumao.com//toparticles/23 ,OK帖子置顶了
再发送 DELETE 请求到 http://www.bumao.com//toparticles/23 ,OK置顶取消
那么以上的资源露在网上的就是:
http://www.bumao.com/article/23 (对23号这个帖子进行更新、删除、查看操作)
http://www.bumao.com/article (发表新帖子)
http://www.bumao.com//toparticles/23 (对该帖子置顶“PUT”或者取消置顶“DELETE”)
REST使用
在使用端和服务端需要明确的API文档说明,也就是要定义好POST过去的值和返回的值,这样你的使用端就可以和REST的服务端“说话”了。
比方说你发新帖子,那么文档里面会规范:
user这个变量是发帖人;title这个变量是帖子标题;content这个变量是帖子内容
返回的status表示状态;返回的code是错误码,错误码1表示什么,错误码3表示什么… (返回值一般是json或者xml格式)
如何用php实现REST?
那么你知道了这些资源怎么来利用呢?
通过php的curl函数族来搞定!基本上来说php的curl就是个http客户端模拟器,可以模拟出各类的http请求,发送给对应url并取得返回结果。
以post为例:
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, “http://www.bumao.com/article”); //发贴地址
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_POST,true); //设置POST方式
curl_setopt($ch, [...]
老外写的关于php的’PHP_SELF’’REQUEST_URI’’SCRIPT_NAME’的区别
$_SERVER[’PHP_SELF’], $_SERVER['REQUEST_URI'], and $_SERVER[’SCRIPT_NAME’] all behave in similar ways, they return information about what file is being used. When exposed to some differnt scenarios, you can see in some cases they do behave differently. This can help you decide which is best for what you need in your script.
$_SERVER[’PHP_SELF’]
http://www.yoursite.com/example/ — – — /example/index.php
http://www.yoursite.com/example/index.php — – [...]
php手册精读(基础)
php的花括号(>php4)
$a = “abc”; // $a 为一个字符串
$a{1} = “f”; // $a 目前为 “afc”
// Works
echo “This works: {$arr[4][3]}”;
几个 PHP 的“魔术常量”
名称说明
__LINE__
文件中的当前行号。
__FILE__
文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
__FUNCTION__
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP [...]
精读php手册(杂项)
这两天晚上有点时间,准备把php.net上的php手册精读一遍,淘宝一下。
1.http://www.php.net/manual/zh/tutorial.firstpage.php
关于换行: 尽管换行在 HTML 中的实际意义不是很大,但适当地使用换行可以使 HTML 代码易读且美观。PHP 会在输出时自动删除其结束符 ?> 后的一个换行。该功能主要是针对在一个页面中嵌入多段 PHP 代码或者包含了无实质性输出的 PHP 文件而设计,与此同时也造成了一些疑惑。如果在 PHP 结束符 ?> 后输出换行的话,可以在其后加一个空格,或者在最后的一个 echo/print 语句中加入一个换行。
2.http://www.midnighthax.com/phpeditors.php
牛B的php编辑器推荐向导。
3.PHP 超全局变量:(有几个居然一次都没用到过)
$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER
变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS数组(依然有效,但反对使用)。
$_GET
经由 URL 请求提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。
$_POST经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS [...]
php5.2.1之comfigure参数 自己翻译的 还在进一步总结中(下)
–with-qdbm[=DIR] DBA: Include QDBM support
–with-gdbm[=DIR] DBA: Include GDBM support
–with-ndbm[=DIR] DBA: Include NDBM support
–with-db4[=DIR] DBA: Include Berkeley DB4 support
–with-db3[=DIR] DBA: Include Berkeley DB3 support
–with-db2[=DIR] DBA: Include Berkeley DB2 support
–with-db1[=DIR] DBA: Include Berkeley DB1 support/emulation
–with-dbm[=DIR] DBA: Include DBM support
–with-cdb[=DIR] DBA: Include CDB support
–with-inifile DBA: Include INI support
–with-flatfile DBA: Include FlatFile support
–enable-dbase Enable the bundled dbase library
*启用dbase库
–disable-dom Disable [...]
php5.2.1之comfigure参数 自己翻译的 还在进一步总结中(上)
#####
# php5.2.1之comfigure参数
#####
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
#####
# 以下部分同其他configure文件
#
Configuration:
–cache-file=FILE cache test results in FILE
–help print this message
–no-create do not create output files
–quiet, –silent do not print `checking…’ messages
–version print the version of autoconf that created configure
#####
# 目录和文件名
#####
# 以下部分都和安装到的目录相关 最主要的就是:
# –prefix=PREFIX 要安装到的路径
# 其他的基本用不上
#
Directory and file names:
–prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
*要把php安装到的路径 默认为[/usr/local]
–exec-prefix=EPREFIX install architecture-dependent [...]