设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> PHP教学 >> php实例 >> 教程正文
PHP4中实现动态代理
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1
_once('ProxyInvocationHandler.php');
require_once('Auth.php');

class ReadFileClassProxy extends ProxyInvocationHandler
{

var $object;

function ReadFileClassProxy(&$obj)
{
$this->object = &$obj;
}

//
function NewInstance(&$obj)
{
$proxyFactory = ProxyFactoryInstance();
return $proxyFactory->create(new ReadFileClassProxy(&$obj),
get_parent_class(&$obj));
}

// $proxy is not used here, but it is useful.
function Invoke(&$proxy, $method, $parameters)
{
$uname = 'Binzy';
//$uname = 'Jasmin';
if (Auth::CheckAuth($uname))
{
Return parent::Invoke(&$proxy, $method, $parameters);
}
else
{
//
return 'No Permission!';
}
}
}

 

Auth类是一个进行权限验证的类, 此处我们只是简单的查看传入的UserName, 如果是Binzy, 那么自然是可以看秘密的J, 如果是Jasmin, 那么HoHo, 没得看, 给Binzy点空间嘛.:D 详见清单四.

清单四
class Auth
{
function Auth()
{
}
// bool
//
function CheckAuth($username)
{
if ($username == 'Binzy')
{
return true;
}
return false;
}
}


Ok, 下面我们来使用我们创建的代理. 请见清单五.

清单五
require_once('ReadFileClass.php');
require_once('ReadFileClassProxy.php');

$proxy = ReadFileClassProxy::NewInstance(new ReadFileClass());
print $proxy->ReadMyFile();

 

结果如下:
如果是Binzy, 那么自然可以知道那个秘密.
 

如果是Jasmin, 这个秘密当然不能让她知道.

五、 总结
代理是一个非常有用的模式. PHP4虽然并不是真正的Object-Oriented, 但仍然可以实现你想实现的设计. 写本文的目的有很大部分是希望国内PHP开发者不要再拘泥于现在的开发现状, 开发出更好的PHP软件. 而不是一

上一页  [1] [2] [3] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
php实例热门文章
普通教程 用PHPdig打造属于你自己的Goog
普通教程 PHP生成带有雪花背景的验证码
普通教程 一个简单的php在线端口扫描器
普通教程 用PHP构建一个留言本
普通教程 企业建站好帮手 PHPCMS快速入门
普通教程 用PHP和MYSQL建立计数器过程详
普通教程 基于PHP+MySQL的聊天室设计
普通教程 PHP自动生成月历代码
普通教程 多文件上载系统完整版
普通教程 使用PHP维护文件系统
普通教程 PHP分页显示制作详细讲解
普通教程 用PHP创建PDF中文文档
普通教程 在 PHP 中用描点法“绘制”中文
普通教程 web方式ftp
普通教程 图书管理程序(一)
普通教程 PHP百行代码快速构建简易聊天室
普通教程 用PHP实现标准的IP Whois查询
普通教程 做个自己站内搜索引擎
普通教程 用PHP编写PDF文档生成器
普通教程 用PHP实现验证码功能

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号