注册
登录
首页
领取红包
广告服务
论坛
搜索
帮助
导航
Magento中文论坛
»
PHP技术
» PHP sample
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
kenadmin
发短消息
加为好友
kenadmin
(skenadmin)
当前离线
UID
1
阅读权限
200
在线时间
86 小时
注册时间
2009-5-11
最后登录
2010-8-31
管理员
帖子
235
精华
1
积分
1482
威望
28
M币
1202
1
#
打印
字体大小:
t
T
发表于 2010-3-10 09:03
|
只看该作者
PHP sample
<?php
/*赋值*/
$a = 1;
$b = $a;
$b = 90;
echo $a;
//1
/*引用*/
$a = 1;
$b = &$a;
$b = 90;
echo $a;
//90
$a = 10;
function foo(&$var)
{
$var++;
return $var;
}
function &bar()
{
global $a;
return $a;
}
foo(bar());
echo $a; //输出 11
//返回引用
$var_org = 10;
function &find_var($param)
{
global $var_org;
return $var_org;
}
$foo =& find_var($bar);
$foo = 2;
echo $var_org;
/*静态变量*/
function test_static_var()
{
static $static_var = 0;
return $static_var++;
}
test_static_var();
test_static_var();
test_static_var();
echo test_static_var();
// 3
$global_var = 100;
function test_global_var()
{
global $global_var;
echo $global_var;
}
test_global_var();
//100
/*类*/
class MyClass
{
public $var1 = 'value 1';
public $var2 = 'value 2';
public $var3 = 'value 3';
}
$class = new MyClass;
foreach($class as $key => $value){
print "$key => $value\n";
}
//var1 => value 1
//var2 => value 2
//var3 => value 3
$a = array('a', 'b');
array_push($a, array(1, 2));
//Array ( [0] => a [1] => b [2] => Array ( [0] => 1 [1] => 2 ) )
/*类的特殊函数*/
class Setter
{
private function __get($nm)
{
}
private function __set($nm, $val)
{
}
private function __isset($nm)
{
echo 'isset';
}
private function __unset($nm)
{
echo 'unset';
}
private function __tostring()
{
return 'string';
}
public function __sleep()
{
}
public function __wakeup()
{
}
}
$foo = new Setter();
$foo->a = 100;
$foo->a++;
unset( $foo->a );
isset( $foo->a );
serialize($foo);
unserialize($foo);
echo $foo;
//clone
class about_clone
{
var $a = 1;
}
$object_1 = new about_clone;
$object_2 = $object_1;
$object_2->a = 100;
echo $object_1->a;
$object_3 = clone $object_1;
$object_3->a = 300;
echo $object_1->a;
class about_clone_2
{
var $a = 1;
//__clone 在对象克隆前调用。
public function __clone()
{
}
}
$object_1 = new about_clone_2;
$object_3 = clone $object_1;
//强制参数的对象实例
function type_force( about_clone_2 $a )
{
echo 'Only instances of class about_clone_2 are approved.';
}
$var = new about_clone_2;
type_force( $var );
/*异常处理*/
class FileExistsException extends Exception{} //用于处理文件不存在异常的类
class FileOpenException extends Exception{} //用于处理文件不可读异常的类
$path = "D:\\\\in.txt";
try{
file_open($path); //程序执行块
}catch(FileExistsException $e){ //如果产生FileExistsException异常则提示用户确认文件位置
echo "程序在运行过程中发生了异常:".$e->getMessage()."\\n";
echo "请确认文件位置。";
}catch(FileOpenException $e){ //如果产生FileOpenException异常则提示用户确认文件的可读性
echo "程序在运行过程中发生了异常:".$e->getMessage()."\\n";
echo "请确认文件的可读性。";
}catch(Exception $e) {
echo "[未知异常]";
echo "异常信息:".$e->getMessage()."\\n"; //返回用户自定义的异常信息
echo "异常代码:".$e->getCode()."\\n"; //返回用户自定义的异常代码
echo "文件名:".$e->getFile()."\\n"; //返回发生异常的PHP程序文件名
echo "异常代码所在行".$e->getLine()."\\n"; //返回发生异常的代码所在行的行号
echo "传递路线:";
print_r($e->getTrace()); //以数组形式返回跟踪异常每一步传递的路线
echo $e->getTraceAsString(); //返回格式化成字符串的getTrace函数信息
}
function file_open($path)
{
try
{
if(!file_exists($path)){
throw new FileExistsException("文件无法找到", 1);
}
if(!fopen($path, "r")){
throw new FileOpenException("文件无法打开", 2);
}
}catch(Exception $e){ //捕获异常
echo "file_open函数在运行过程中出现异常";
throw $e; //重掷异常 .异常可以逐层往上抛
}
}
复制代码
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
Magento 数据转换
发展建议
Magento 帮助文档