您好,欢迎访问一九零五行业门户网

PHP设计模式之简单投诉页面实例_PHP

本文实例介绍了php简单投诉页面的实现代码,分享给大家供大家参考,具体内容如下
php代码:
_style = $style; $this->_observers = new splobjectstorage(); } public function show() { $this->notify(); } public function attach(splobserver $observer) { $this->_observers->attach($observer); } public function detach(splobserver $observer) { $this->_observers->detach($observer); } public function notify() { $this->_observers->rewind(); while ($this->_observers->valid()) { $observer = $this->_observers->current(); $observer->update($this); $this->_observers->next(); } }}class stylea implements splobserver { public function update(splsubject $subject) { echo $subject->_style . ' 模块a
'; }}class styleb implements splobserver { public function update(splsubject $subject) { echo $subject->_style . ' 模块b
'; }}/** * 根据不同方式进行投诉 * 桥接模式 */class bridge { protected $_obj = null; public function __construct($obj) { $this->_obj = $obj; } public function msg($type) { } public function show() { $this->msg(); $this->_obj->msg(); }}class bridgeemail extends bridge { public function msg() { echo 'email>>'; }}class bridgesms extends bridge { public function msg() { echo 'sms>>'; }}class normal { public function msg() { echo 'normal
'; }}class danger { public function msg() { echo 'danger
'; }}/** * 适配器模式 */class serialize { public $content = null; public function __construct($content) { $this->content = serialize($content); } public function show() { return '序列化格式:
' . $this->content; }}class jsonadapter extends serialize { public function __construct($content) { parent::__construct($content); $tmp = unserialize($this->content); $this->content = json_encode($tmp, true); } public function show() { return 'json格式:
' . $this->content; }}/** * 在投诉内容后自动追加 * 装饰器模式 */class base { protected $_content = null; public function __construct($content) { $this->_content = $content; } public function getcontent() { return $this->_content; }}class decorator { private $_base = null; public function __construct(base $base) { $this->_base = $base; } public function show() { return $this->_base->getcontent() . '>>系统时间:' . date('y-m-d h:i:s', time()); }}/** * 分级举报处理功能 * 责任链模式 */class level1 { protected $_level = 1; protected $_top = 'level2'; public function deal($level) { if ($level _level) { echo '处理级别:1
'; return; } $top = new $this->_top; $top->deal($level); }}class level2 { protected $_level = 2; protected $_top = 'level3'; public function deal($level) { if ($level _level) { echo '处理级别:2
'; return; } $top = new $this->_top; $top->deal($level); }}class level3 { protected $_level = 3; protected $_top = 'level2'; public function deal($level) { echo '处理级别:3
'; return; }}if (!empty($_post)) { echo 'php设计模式'; //连接数据库——工厂+单例模式 $mysqlfactory = new mysqlfactory(); $single = $mysqlfactory->createdb(); $single->conn(); echo '
'; //观察者模式 $username = $_post['username']; $ob = new observer($username); $a = new stylea(); $ob->attach($a); $b = new styleb(); $ob->attach($b); $ob->show(); echo '
'; $ob->detach($b); $ob->show(); echo '
'; //桥接模式 $typem = $_post['typem']; $typen = 'bridge' . $_post['typen']; $obj = new $typen(new $typem); $obj->show(); echo '
'; //适配器模式 $post = $_post; $obj = new serialize($post); echo $obj->show(); echo '
'; $json = new jsonadapter($post); echo $json->show(); echo '
'; echo '
'; //装饰器模式 $content = $_post['content']; $decorator = new decorator(new base($content)); echo $decorator->show(); echo '
'; //责任链模式 echo '
'; $level = $_post['level']; $deal = new level1(); $deal->deal(intval($level)); return;}require(0.html);
html代码:
php设计模式 用户名 tom lily 投诉方式 normal danger email sms 处理级别 1 2 3 投诉内容 提交
以上就是本文的全部内容,希望对大家的学习有所帮助。
其它类似信息

推荐信息