易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

【转】慎用PHP$_REQUEST数组

      我平时总是喜欢用$_REQUEST这个数组,不是因为别的,简单,而且想用GET时候就用GET直接测试即可。还可以把URL打出来,很是方便。从而很少用$_GET和$_POST超全局变量。
      不过,从今以后我会尽量不再使用$_REQUEST这个数组,因为以前对这个数组有些一知半解,总以为用起来简单,并且随心所欲,和$_GET与$_POST一样,而且由系统为我判断,多好。下面我就来简单的介绍一下为何不应该使用$_REQUEST这个数组。
      我们都知道,处理表单数据,可以使用PHP的$_GET和$_POST这两个超全局变量,具体是哪个由form表单提交时的method指定。除此之外PHP还为我们提供了$_REQUEST数组。但是其不仅包含$_GET和$_POST的所有数据元素,同时其还会包含$_COOKIE这个超全局数组的所有数据元素。
      可是大家有没有想过,如果这三个数组里面的key相同,那么我用$_REQUEST得到的到底是哪个数组的值呢?会不会有什么问题?
我用如下代码为大家做演示,因为只是想说明问题,所以这里面不对$_COOKIE进行设置,请大家自行处理:
<?php
var_dump($_GET['a'],$_POST['a'],$ ......

实现php工厂模式的几个关键函数

面向对象编程的方法中,为了实现对象间的松耦合,其中一种简单的原则就是将应用策略与功能实现分离。常常用到的设计模式有factory、facade等,而当中的核心编程技术就是callback技术。
所谓callback技术,简单的说就是将函数的作为一个参数传递给另外一个函数,并被该函数所调用。
php下,实现工厂模式的有一下。几个关键函数
mixed call_user_method_array     ( string $method_name    , object &$obj    , array $paramarr    )从用户定义的 obj 对象中调用 method_name 所指的方法,同时使用 paramarr 中的参数。
mixed call_user_method ( string method_name, object &obj  [, mixed parameter [, mixed ...]] )类似call_user_method_array,
mixed call_user_func_array ( string $callback_function, array  param_arr )从调用callback_function,并使用param_arr中的参数
mixed call_user_func ( callback function [, mixed  parameter [, mixed ...]] )第一个参数指定了调用的函数名,后面是不 ......

PHP缓存实现


<?php  
class
 CacheException 
extends
 Exception {}  
/**
 
 * 缓存抽象类
 
 */
  
abstract
 
class
 Cache_Abstract {  
    /**
 
     * 读缓存变量
 
     *
 
     * @param string $key 缓存下标
 
     * @return mixed
 
     */
  
    abstract
 
public
 
function
 fetch(
$key
);  
      
    /**
 
     * 缓存变量
 
     *
 
     * @param string $key 缓存变量下标
 
     * @param strin ......

php 获得 精确 时间 有意思~!!~~!

/**
*
* @param <type> $format
* @param <type> $utimestamp
* @return <type>
* @example
*
* echo udate('H:i:s.u'); 19:31:28.7812
*
* echo udate('H:i:s.uuuu'); 19:31:28.78127781277812778127
*
* echo udate('Y-M-D H:i:s.u'); 2010-Apr-Thu 19:40:49.484376
*
* echo udate('Y-m-d H:i:s.u'); 2010-04-22 20:20:32.453127
*
* echo date("Ymd").udate('Hisu'); 20100422201737484376
*
* echo date("Ymd").udate('Hisuu'); 20100422201926156251156251
*
* @author wulei
* @date
*
*/
function udate($format, $utimestamp = null)
{
if (is_null($utimestamp))
$utimestamp = microtime(true);
$timestamp = floor($utimestamp);
$milliseconds = round(($utimestamp - $timestamp) * 1000000);
return date(preg_replace('`(?<!\\\\)u`', $milliseconds, $format), $timestamp);
}  ......

PHP之$_SERVER用法详细

$_SERVER['PHP_SELF']                        #当前正在执行脚本的文件名,与 document root相关。
$_SERVER['argv']                                #传递给该脚本的参数。
$_SERVER['argc']                                #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE']     #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER['SERVER_NAME']                #当前运行脚本所在服务器主机的名称。
$_SERVER['SERVER_SOFTWARE'] &nb ......

Nginx/PHP/path_info问题,去掉index.php

作用是把形如:www.abc.com/index.php/blog/show 的地址美化成  www.abc.com/blog/show  ,使用$_SERVER['PATH_INFO']接收变量。
server
{
listen 80;
server_name myweb;
index index.html index.htm index.php;
root /home/zhaowei/code;
if (!-f $request_filename) {
rewrite ^/m-php-framework/(.*)$ /m-php-framework/index.php/$1 last;
}
location ~ .*\.(php|php5)
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME /home/zhaowei/code$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
log_forma ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [1438] [1439] [1440] [1441] 1442 [1443] [1444] [1445] [1446] [1447]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号