狠狠撸

狠狠撸Share a Scribd company logo
MVC 架构在 Discuz! 插件开发的应用
Horse Luke
2009-11-14
说明
? 本 PPT 所阐述内容已经在个人能力范围内,对其
科学性、安全性、正确性、完整性、及时性、合
法性等做义务管理和初步检验,但均不做任何承
诺和担保。
? 本人对 MVC 的理解也是非常片面和不全,欢迎各
位与本人探讨。邮箱: horseluke@126.com
目录目录
何谓 MVC 架构
与 Discuz! 的相容设计
其它问题
参考资料
01. 何谓 MVC 架构——引子
? 引子:从路边小吃摊到豪华酒店的经营之路
– 最初经营路边小吃摊:
? 一个人要负责:接受顾客下单、炒菜、端到桌边服务顾客
– 接着有了资本后开了间小小的粤菜馆,此时多了几个
服务员和炒菜的师傅:
? 服务员接受顾客的下单(有时候还跑去仓库里面看看还有没有
某种具体的原材料)和把师傅炒好的菜端上桌面
? 师傅就只管拿到订单后炒菜,或者告知,没有这个菜可炒
? 有时候老板亲自出马,接受顾客下单和到厨房炒菜
– 假如经营有方外加机遇,最后发展成豪华酒店:
? 服务员接受顾客的下单(不允许进厨房和仓库)和把师傅炒好
的菜端上桌面;
? 师傅就只管拿到订单后炒菜,或者告知,没有这个菜可炒
? 老板不用做具体业务了,只管战略建设、人力资源建设 ......
01. 何谓 MVC 架构——引子
? 软件开发也是如此。
– 最初,一个页面混杂 PHP 代码和 HTML 代码;
– 意识到应该两者分离(厨房归厨房大厅归大厅)。但是 PHP
代码还是过于庞大和难以阅读(比如,服务员越俎代庖,跑
去仓库看还剩多少原材料);
– 现在 PHP 代码也要进行分离,一个负责业务操作( M
层,对应引子,只有厨师才能直接去仓库里面拿原材料炒菜),另
一个负责请求处理和 HTML 模版渲染( C 层,对应引子,
服务员不能知道仓库里面还剩多少原材料,只接受订单和端菜上桌)
。这就是有 MVC 的思想在里面了。
01. 何谓 MVC 架构——概念
? MVC ( Model View Controller ,即模型-视图
-控制器)是一种软件设计模式。 [1]
? 它强制性的使应用程序的输入、处理和输出分开
。使用 MVC 应用程序被分成三个核心部件:模型
、视图、控制器。它们各自处理自己的任务。 [2]
[3][4]
01. 何谓 MVC 架构——概念
? 模型( Model ):负责应用程序的业务规则。封装访
问数据库的方法并提供一个可重用的类库。模型不关
心它是怎么被操作(不依赖于控制器)和如何显示数
据(不依赖于视图)。它只是提供“中立”的数据。
? 视图( View ):控制数据的外观并且提供从用户收
集数据的机制。
? 控制器( Controller ):起到不同层面间的组织作用
,并控制程序的流程。
图片来源 : Apple Inc.[3]
01. 何谓 MVC 架构——概念
作者:七月十五 [7]
02. 与 Discuz! 的相容设计——疑问与解答
? 疑问 1 :是否做一个 Discuz! 架构下的多余架构
(“ windows 下的 linux” )? [5]
– 个人回答是“否”。原因如下:
– MVC 只是一种设计思想,与任何具体程序无关;
– Discuz! 的架构确实已经涵盖了许多方面,但是仍有许
多改进的地方,比如版块权限检查,就非常分散。
– 一个反例:到了 Discuz! 6.1 时代,作为用户管理和通
行证的部分为啥要独立为一个 UCenter (同样也是
MVC 架构)出来呢?
02. 与 Discuz! 的相容设计——疑问与解答
? 疑问 2 :插件用 MVC 是否“小题大做”?
– 个人回答是“根据实际情况”。原因如下:
– 对于个人开发的仅有一个或者几个明确功能的插件,
以原来的方式开发也无不妥;
– 假如考虑到多人开发、或者考虑到以后可能需要增加
新功能、或者考虑到各个插件之间类库的重用
性, MVC 不失为一种选择。
– 注意:前期设计很重要也很花费时间,若觉得耗费不
起或者需要赶工,那么不用也罢。
02. 与 Discuz! 的相容设计——实现方式
? 第一种:完全独立外挂型
– MVC 架构部分:
? 全部自己编写
? 期间不用或者很少使用 Discuz! 提供的函数和类库
– 单一入口文件部分:
? 放在论坛根目录下
? 只是用于引入 Discuz! 的 include/common.inc.php 文件(甚至
不引入)和框架的初始化文件:
<?php
require_once './include/common.inc.php';
define('APP_PATH',dirname(__FILE__).'/App_Helloworld');
require(dirname(__FILE__).'/Framework_Core/FWBase.class.php');
FWBase::startup()->run();
02. 与 Discuz! 的相容设计——实现方式
? 第一种:完全独立外挂型
– 此方式受到 Discuz! 的影响最小;
– 耗费时间最大——可能会陷入重建论坛框架的无边苦
海中(这事情应该由官方来做);
– 故不太推荐此种方式
02. 与 Discuz! 的相容设计——实现方式
? 第二种:运用论坛已有架构型( 1 )
– MVC 架构部分:
? M 层和 C 层写成类库,并根据实际情况使用 Discuz! 提供的函
数和类库
? 不需要写 V 层,使用 Discuz! 提供的模板引擎技术。但由于
Discuz! 的 View 层太过强大且与面向对象设计部分相冲突,
因此不在 C 层启动,而是在 C 层接近运行完毕时,以某种方
式 define 一个常量;最后单一入口文件检查到常量并进行
View 层启动。
– 单一入口文件部分:
? 既充当初始化框架资源,同时灵活引入部分 Discuz! 的资源;
? 既可放在论坛根目录下(此时需要自行引入文
件 /include/common.inc.php ),也可与 plugin.php 捆绑启动
(需要遵循 Discuz! 插件设计原则);
? 启动 Discuz! View 层。
02. 与 Discuz! 的相容设计——实现方式
? 第二种:运用论坛已有架构型( 1 )
– 例子:插件会员查看其他用户主题和回复 For 7.1(单
一入口文件与 plugin.php 捆绑启动方式)及 For 7.0版
本(单一入口文件放在论坛根目录下)。
– View 层的启动方式(以该插件的 7.1 版本说明):
? Controller 运行到最后, $this->display(' 模板名 ') ,此时将
define 一个常量 'APP_TPL_FILENAME' ,值就是 ' 模板名 ' 。
? Controller 运行结束,控制权返回到单一入口文件( 7.1 版本
为 plugins/iirs_userPostList/frontLoader.inc.php )。
? 单一入口文件检查是否存在此常量,然后启动 V 层:
if( defined ('APP_TPL_FILENAME') ){
include plugintemplate('APP_TPL_FILENAME'); // ( 7.1 的插件模版引入写
法)
}
02. 与 Discuz! 的相容设计——实现方式
? 第二种:运用论坛已有架构型( 1 )
– 在灵活性和相容性取得较好的平衡。
– 但可能难以迁移到 PHP4 平台。文件比较多和分散。
– 个人较为推荐使用。
02. 与 Discuz! 的相容设计——实现方式
? 第三种:运用论坛已有架构型( 2 )
– MVC 架构部分:
? M 层设计与“第二种:运用论坛已有架构型( 1 )”差不多;
? 但是 C 层完全遵循 Discuz! 插件设计原则,使用面向过程的写
法(在此之前还可能需要引入某个文件初始化框架资源),以
xxxxxx.inc.php 放在指定的插件目录内。
? 此时, V 层的写法和 Discuz! 给出的写法一样。(见下一页的
代码)
– 单一入口文件部分:
? 由 Discuz! 文件 plugin.php 处理。因此,不需要编写。
02. 与 Discuz! 的相容设计——实现方式
? 第三种:运用论坛已有架构型( 2 )
– 例子:前台文件: plugins/iirs_ demo3/userController.inc.php
<?php
if(!defined('IN_DISCUZ')) {exit('Access Denied');}
// 引入初始化框架文件
require_once(dirname(__FILE__).'/frameworkInit.php');
if('getPosts' == $action){
// 实例化 Model 并进行操作,此处略
include plugintemplate('getPosts'); // 启动 View 层( 7.1 的插件模版引入写法)
}elseif ('getThreads' == $action){
// 实例化 Model 并进行操作,此处略
include plugintemplate('getThreads'); // 启动 View 层( 7.1 的插件模版引入写
法)
}else{
showmessage('undefined_action', NULL, 'HALTED');
02. 与 Discuz! 的相容设计——实现方式
? 第三种:运用论坛已有架构型( 2 )
– 与 Discuz! 和 PHP4 的相容性最好;
– C 层需要在插件后台的设计中进行指定(必须填写程序
模块名称,和指定为红框所示的几个模块类型),灵
活性不足。
03. 其它问题
? 问题:处理 Discuz! 的 cache
– Discuz! 的 Cache 没有统一的格式,基本上引入一个
Cache 就产生了一个新的变量。这样的结果使得不同
的 Model 实例在引入相同的缓存时产生了困难。如文
献 [6] 提到的引入语言包缓存问题。
– 解决方法有,定义一个函数(或类静态方法),里面
有一个 static 变量,然后由它来加载缓存(加载时存储
到这个 static 变量中)和提供缓存数据。
– 熟悉 Zend Framework 框架的开发者可通过使用、修
改和扩展 Zend_Registry 类来达到目的。
04. 参考资料
? [1] 维基百科 . MVC. http://zh.wikipedia.org/wiki/MVC
? [2] 百度百科 . MVC. http://baike./view/31.htm
? [3]Apple Inc. iPhone Dev Center: Cocoa Core Competencies: Model-View-Controller.
http://developer.apple.com/iPhone/library/documentation/General/Conceptual/DevPedia-
CocoaCore/MVC.html
? [4][ 加 ]Kevin McArthur 著 , 汪泳等译 . PHP 高级程序设计:模式、框架与测试 . 人民邮电出
版社
? [5]shy9000. Discuz! 开发者教室之四【 Discuz! 7.1 开发技巧 JS 篇】 .
http://bbs.7dps.com/thread-3306-1-1.html
? [6] 江湖大虾仁 . 对于 Discuz!7.1 基于 NC 开发插件使用 " 类 " 时慎用 _once 【开发者注意
】 . http://bbs.7dps.com/thread-3269-1-1.html
? [7] 七月十五 . 图解 MVC 模式 . http://bbs.phpchina.com/viewthread.php?tid=94397
感谢您的关注
Document is created by WPS OFFICE Presentation
Template is designed by 小庞庞
Licensed Under a Creative Commons Attribution-Share Alike 3.0 Unported

More Related Content

What's hot (17)

twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹
twMVC
?
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC
?
ASP.Net MVC2 介绍
ASP.Net MVC2 介绍ASP.Net MVC2 介绍
ASP.Net MVC2 介绍
Allen Lsy
?
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
twMVC
?
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5
twMVC
?
Flex 入门培训
Flex 入门培训Flex 入门培训
Flex 入门培训
7rice
?
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC
?
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual Studio
twMVC
?
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC
?
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC
?
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC
?
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
?
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18
twMVC
?
20130823微软云端平台开发者日
20130823微软云端平台开发者日20130823微软云端平台开发者日
20130823微软云端平台开发者日
twMVC
?
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
twMVC
?
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC
?
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15
twMVC
?
twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹
twMVC
?
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC#22 | 一個微信專案從0到.000的效能調教之路
twMVC
?
ASP.Net MVC2 介绍
ASP.Net MVC2 介绍ASP.Net MVC2 介绍
ASP.Net MVC2 介绍
Allen Lsy
?
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17 SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
twMVC
?
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC之實戰架構探討 -twMVC#5
twMVC
?
Flex 入门培训
Flex 入门培训Flex 入门培训
Flex 入门培训
7rice
?
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
twMVC
?
twMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual StudiotwMVC#21 | 你所不知道的 Visual Studio
twMVC#21 | 你所不知道的 Visual Studio
twMVC
?
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC
?
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC#23 | 一個Mobile App開發、維護與改版的愛恨之路
twMVC
?
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC#20 | ASP.NET MVC View 開發技巧小錦囊
twMVC
?
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
?
專案分層架構 twMVC#18
專案分層架構 twMVC#18專案分層架構 twMVC#18
專案分層架構 twMVC#18
twMVC
?
20130823微软云端平台开发者日
20130823微软云端平台开发者日20130823微软云端平台开发者日
20130823微软云端平台开发者日
twMVC
?
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13MVC實戰分享 分頁與排序相關技巧-tw mvc#13
MVC實戰分享 分頁與排序相關技巧-tw mvc#13
twMVC
?
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC#25 | ASP.NET MVC A/B Testing 的眉眉角角
twMVC
?
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15
twMVC
?

Viewers also liked (8)

Musicas cifradas mpb 5Musicas cifradas mpb 5
Musicas cifradas mpb 5
Elvis Live
?
hibernate annotationhibernate annotation
hibernate annotation
eduardo dias
?
Mi proyecto de vida vanessa soto 7 bMi proyecto de vida vanessa soto 7 b
Mi proyecto de vida vanessa soto 7 b
IE Simona Duque
?
Rev #10 rev 14 slides 031812
Rev #10 rev 14 slides 031812Rev #10 rev 14 slides 031812
Rev #10 rev 14 slides 031812
Alan Shelby
?
La ropaLa ropa
La ropa
Iago Rm
?
Luis fernando rojasLuis fernando rojas
Luis fernando rojas
IE Simona Duque
?
Content aware photoshopContent aware photoshop
Content aware photoshop
Ruben Alves
?
Musicas cifradas mpb 5Musicas cifradas mpb 5
Musicas cifradas mpb 5
Elvis Live
?
hibernate annotationhibernate annotation
hibernate annotation
eduardo dias
?
Mi proyecto de vida vanessa soto 7 bMi proyecto de vida vanessa soto 7 b
Mi proyecto de vida vanessa soto 7 b
IE Simona Duque
?
Rev #10 rev 14 slides 031812
Rev #10 rev 14 slides 031812Rev #10 rev 14 slides 031812
Rev #10 rev 14 slides 031812
Alan Shelby
?
La ropaLa ropa
La ropa
Iago Rm
?
Luis fernando rojasLuis fernando rojas
Luis fernando rojas
IE Simona Duque
?
Content aware photoshopContent aware photoshop
Content aware photoshop
Ruben Alves
?

Similar to Mvc架构在discuz!插件开发的应用 wps create_msoffice_check (20)

Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
?
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
?
迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢
twMVC
?
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Will Huang
?
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
Duran Hsieh
?
Ch13 整合Spring MVC
Ch13  整合Spring MVC Ch13  整合Spring MVC
Ch13 整合Spring MVC
Justin Lin
?
Clipper@datacon.2019.tw
Clipper@datacon.2019.twClipper@datacon.2019.tw
Clipper@datacon.2019.tw
Wei-Yu Chen
?
谈谈模块化
谈谈模块化谈谈模块化
谈谈模块化
衡锋 阳
?
N-layer design & development
N-layer design & developmentN-layer design & development
N-layer design & development
Xuefeng Zhang
?
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
Daniel Chou
?
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
melity78
?
美团前端架构介绍
美团前端架构介绍美团前端架构介绍
美团前端架构介绍
pan weizeng
?
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
?
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
?
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
Jollen Chen
?
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
twMVC
?
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC
?
有道云笔记架构介绍
有道云笔记架构介绍有道云笔记架构介绍
有道云笔记架构介绍
drewz lin
?
微軟實戰課程日:玩轉雲端 技術與架構
微軟實戰課程日:玩轉雲端 技術與架構微軟實戰課程日:玩轉雲端 技術與架構
微軟實戰課程日:玩轉雲端 技術與架構
Jeff Chu
?
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
?
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
?
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
?
迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢
twMVC
?
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
Will Huang
?
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練42016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練4
Duran Hsieh
?
Ch13 整合Spring MVC
Ch13  整合Spring MVC Ch13  整合Spring MVC
Ch13 整合Spring MVC
Justin Lin
?
Clipper@datacon.2019.tw
Clipper@datacon.2019.twClipper@datacon.2019.tw
Clipper@datacon.2019.tw
Wei-Yu Chen
?
N-layer design & development
N-layer design & developmentN-layer design & development
N-layer design & development
Xuefeng Zhang
?
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
Daniel Chou
?
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
melity78
?
美团前端架构介绍
美团前端架构介绍美团前端架构介绍
美团前端架构介绍
pan weizeng
?
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
twMVC
?
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
?
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
Jollen Chen
?
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
twMVC
?
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC
?
有道云笔记架构介绍
有道云笔记架构介绍有道云笔记架构介绍
有道云笔记架构介绍
drewz lin
?
微軟實戰課程日:玩轉雲端 技術與架構
微軟實戰課程日:玩轉雲端 技術與架構微軟實戰課程日:玩轉雲端 技術與架構
微軟實戰課程日:玩轉雲端 技術與架構
Jeff Chu
?
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
?

More from Cevin Cheung (7)

淘宝图片存储与颁诲苍系统
淘宝图片存储与颁诲苍系统淘宝图片存储与颁诲苍系统
淘宝图片存储与颁诲苍系统
Cevin Cheung
?
淘宝网架构:解密淘宝网的开源架构
淘宝网架构:解密淘宝网的开源架构淘宝网架构:解密淘宝网的开源架构
淘宝网架构:解密淘宝网的开源架构
Cevin Cheung
?
奥别产缓存加速
奥别产缓存加速奥别产缓存加速
奥别产缓存加速
Cevin Cheung
?
罢颈尘测补苍驳新浪微博设计谈
罢颈尘测补苍驳新浪微博设计谈罢颈尘测补苍驳新浪微博设计谈
罢颈尘测补苍驳新浪微博设计谈
Cevin Cheung
?
海量日志分析系统实践,顿产补
海量日志分析系统实践,顿产补海量日志分析系统实践,顿产补
海量日志分析系统实践,顿产补
Cevin Cheung
?
Mongodbinaction 100122230824-phpapp01
Mongodbinaction 100122230824-phpapp01Mongodbinaction 100122230824-phpapp01
Mongodbinaction 100122230824-phpapp01
Cevin Cheung
?
My Sql优化(2009 08 28 系统架构师大会)
My Sql优化(2009 08 28 系统架构师大会)My Sql优化(2009 08 28 系统架构师大会)
My Sql优化(2009 08 28 系统架构师大会)
Cevin Cheung
?
淘宝图片存储与颁诲苍系统
淘宝图片存储与颁诲苍系统淘宝图片存储与颁诲苍系统
淘宝图片存储与颁诲苍系统
Cevin Cheung
?
淘宝网架构:解密淘宝网的开源架构
淘宝网架构:解密淘宝网的开源架构淘宝网架构:解密淘宝网的开源架构
淘宝网架构:解密淘宝网的开源架构
Cevin Cheung
?
奥别产缓存加速
奥别产缓存加速奥别产缓存加速
奥别产缓存加速
Cevin Cheung
?
罢颈尘测补苍驳新浪微博设计谈
罢颈尘测补苍驳新浪微博设计谈罢颈尘测补苍驳新浪微博设计谈
罢颈尘测补苍驳新浪微博设计谈
Cevin Cheung
?
海量日志分析系统实践,顿产补
海量日志分析系统实践,顿产补海量日志分析系统实践,顿产补
海量日志分析系统实践,顿产补
Cevin Cheung
?
Mongodbinaction 100122230824-phpapp01
Mongodbinaction 100122230824-phpapp01Mongodbinaction 100122230824-phpapp01
Mongodbinaction 100122230824-phpapp01
Cevin Cheung
?
My Sql优化(2009 08 28 系统架构师大会)
My Sql优化(2009 08 28 系统架构师大会)My Sql优化(2009 08 28 系统架构师大会)
My Sql优化(2009 08 28 系统架构师大会)
Cevin Cheung
?

Recently uploaded (20)

零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...
零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...
零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为
学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为
学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
O-level Mathematics代考,【微信Hackr404】IGCSE Mathematics替考,UCAT Quantitative Reaso...
O-level Mathematics代考,【微信Hackr404】IGCSE Mathematics替考,UCAT Quantitative Reaso...O-level Mathematics代考,【微信Hackr404】IGCSE Mathematics替考,UCAT Quantitative Reaso...
O-level Mathematics代考,【微信Hackr404】IGCSE Mathematics替考,UCAT Quantitative Reaso...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...
命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...
命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...
制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...
制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...
CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...
CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...
暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...
暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...
CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...
CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptxbb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
ronalyncaju
?
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 12 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
g62042289
?
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...
零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...
零日漏洞利用【微Hackr404信】:黑客如何通过未公开漏洞入侵剑桥大学教务系统, 暴力破解攻击:黑客如何通过弱密码入侵牛津大学GRE成绩系统, 社会工程...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为
学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为
学校网站、漏洞扫描、修复指南、【微贬补肠办谤404信】黑客修改成绩教务系统、厂蚕尝注入、黑客修改成绩、防范措施痕迹清理技术:黑客如何隐藏入侵行为
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...
命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...
命令执行漏洞【微Hackr404信】黑客如何通过系统命令修改成绩, 网络欺骗技术:黑客如何通过ARP欺骗窃取数据, 漏洞利用框架:黑客如何通过Metasp...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...
制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...
制作高仿国内护照,办理国内高仿真护照【微贬补肠办谤404信】,办理真实马来西亚护照,购买高仿泰国签证,制作假越南身份证,办理真实菲律宾驾照,购买高仿印度绿...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...
CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...
CELPIP代考服务, TEF替考保分【微Hackr404信】, DELF代考高分保障, DALF替考保过, TestDaF代考安全可靠, DSH替考成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...
暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...
暴力破解攻击:【微Hackr404信】黑客如何通过弱密码入侵教务系统, 社会工程学攻击:黑客如何通过伪装获取管理员权限, 中间人攻击:黑客如何窃取教务系统...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...
CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...
CELI代考服务, CILS替考保分,【微Hackr404信】 PLIDA代考高分保障, TELC替考保过, Goethe-Zertifikat代考安全可...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptxbb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
ronalyncaju
?
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 12 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
g62042289
?
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?

Mvc架构在discuz!插件开发的应用 wps create_msoffice_check

  • 1. MVC 架构在 Discuz! 插件开发的应用 Horse Luke 2009-11-14
  • 2. 说明 ? 本 PPT 所阐述内容已经在个人能力范围内,对其 科学性、安全性、正确性、完整性、及时性、合 法性等做义务管理和初步检验,但均不做任何承 诺和担保。 ? 本人对 MVC 的理解也是非常片面和不全,欢迎各 位与本人探讨。邮箱: horseluke@126.com
  • 3. 目录目录 何谓 MVC 架构 与 Discuz! 的相容设计 其它问题 参考资料
  • 4. 01. 何谓 MVC 架构——引子 ? 引子:从路边小吃摊到豪华酒店的经营之路 – 最初经营路边小吃摊: ? 一个人要负责:接受顾客下单、炒菜、端到桌边服务顾客 – 接着有了资本后开了间小小的粤菜馆,此时多了几个 服务员和炒菜的师傅: ? 服务员接受顾客的下单(有时候还跑去仓库里面看看还有没有 某种具体的原材料)和把师傅炒好的菜端上桌面 ? 师傅就只管拿到订单后炒菜,或者告知,没有这个菜可炒 ? 有时候老板亲自出马,接受顾客下单和到厨房炒菜 – 假如经营有方外加机遇,最后发展成豪华酒店: ? 服务员接受顾客的下单(不允许进厨房和仓库)和把师傅炒好 的菜端上桌面; ? 师傅就只管拿到订单后炒菜,或者告知,没有这个菜可炒 ? 老板不用做具体业务了,只管战略建设、人力资源建设 ......
  • 5. 01. 何谓 MVC 架构——引子 ? 软件开发也是如此。 – 最初,一个页面混杂 PHP 代码和 HTML 代码; – 意识到应该两者分离(厨房归厨房大厅归大厅)。但是 PHP 代码还是过于庞大和难以阅读(比如,服务员越俎代庖,跑 去仓库看还剩多少原材料); – 现在 PHP 代码也要进行分离,一个负责业务操作( M 层,对应引子,只有厨师才能直接去仓库里面拿原材料炒菜),另 一个负责请求处理和 HTML 模版渲染( C 层,对应引子, 服务员不能知道仓库里面还剩多少原材料,只接受订单和端菜上桌) 。这就是有 MVC 的思想在里面了。
  • 6. 01. 何谓 MVC 架构——概念 ? MVC ( Model View Controller ,即模型-视图 -控制器)是一种软件设计模式。 [1] ? 它强制性的使应用程序的输入、处理和输出分开 。使用 MVC 应用程序被分成三个核心部件:模型 、视图、控制器。它们各自处理自己的任务。 [2] [3][4]
  • 7. 01. 何谓 MVC 架构——概念 ? 模型( Model ):负责应用程序的业务规则。封装访 问数据库的方法并提供一个可重用的类库。模型不关 心它是怎么被操作(不依赖于控制器)和如何显示数 据(不依赖于视图)。它只是提供“中立”的数据。 ? 视图( View ):控制数据的外观并且提供从用户收 集数据的机制。 ? 控制器( Controller ):起到不同层面间的组织作用 ,并控制程序的流程。 图片来源 : Apple Inc.[3]
  • 8. 01. 何谓 MVC 架构——概念 作者:七月十五 [7]
  • 9. 02. 与 Discuz! 的相容设计——疑问与解答 ? 疑问 1 :是否做一个 Discuz! 架构下的多余架构 (“ windows 下的 linux” )? [5] – 个人回答是“否”。原因如下: – MVC 只是一种设计思想,与任何具体程序无关; – Discuz! 的架构确实已经涵盖了许多方面,但是仍有许 多改进的地方,比如版块权限检查,就非常分散。 – 一个反例:到了 Discuz! 6.1 时代,作为用户管理和通 行证的部分为啥要独立为一个 UCenter (同样也是 MVC 架构)出来呢?
  • 10. 02. 与 Discuz! 的相容设计——疑问与解答 ? 疑问 2 :插件用 MVC 是否“小题大做”? – 个人回答是“根据实际情况”。原因如下: – 对于个人开发的仅有一个或者几个明确功能的插件, 以原来的方式开发也无不妥; – 假如考虑到多人开发、或者考虑到以后可能需要增加 新功能、或者考虑到各个插件之间类库的重用 性, MVC 不失为一种选择。 – 注意:前期设计很重要也很花费时间,若觉得耗费不 起或者需要赶工,那么不用也罢。
  • 11. 02. 与 Discuz! 的相容设计——实现方式 ? 第一种:完全独立外挂型 – MVC 架构部分: ? 全部自己编写 ? 期间不用或者很少使用 Discuz! 提供的函数和类库 – 单一入口文件部分: ? 放在论坛根目录下 ? 只是用于引入 Discuz! 的 include/common.inc.php 文件(甚至 不引入)和框架的初始化文件: <?php require_once './include/common.inc.php'; define('APP_PATH',dirname(__FILE__).'/App_Helloworld'); require(dirname(__FILE__).'/Framework_Core/FWBase.class.php'); FWBase::startup()->run();
  • 12. 02. 与 Discuz! 的相容设计——实现方式 ? 第一种:完全独立外挂型 – 此方式受到 Discuz! 的影响最小; – 耗费时间最大——可能会陷入重建论坛框架的无边苦 海中(这事情应该由官方来做); – 故不太推荐此种方式
  • 13. 02. 与 Discuz! 的相容设计——实现方式 ? 第二种:运用论坛已有架构型( 1 ) – MVC 架构部分: ? M 层和 C 层写成类库,并根据实际情况使用 Discuz! 提供的函 数和类库 ? 不需要写 V 层,使用 Discuz! 提供的模板引擎技术。但由于 Discuz! 的 View 层太过强大且与面向对象设计部分相冲突, 因此不在 C 层启动,而是在 C 层接近运行完毕时,以某种方 式 define 一个常量;最后单一入口文件检查到常量并进行 View 层启动。 – 单一入口文件部分: ? 既充当初始化框架资源,同时灵活引入部分 Discuz! 的资源; ? 既可放在论坛根目录下(此时需要自行引入文 件 /include/common.inc.php ),也可与 plugin.php 捆绑启动 (需要遵循 Discuz! 插件设计原则); ? 启动 Discuz! View 层。
  • 14. 02. 与 Discuz! 的相容设计——实现方式 ? 第二种:运用论坛已有架构型( 1 ) – 例子:插件会员查看其他用户主题和回复 For 7.1(单 一入口文件与 plugin.php 捆绑启动方式)及 For 7.0版 本(单一入口文件放在论坛根目录下)。 – View 层的启动方式(以该插件的 7.1 版本说明): ? Controller 运行到最后, $this->display(' 模板名 ') ,此时将 define 一个常量 'APP_TPL_FILENAME' ,值就是 ' 模板名 ' 。 ? Controller 运行结束,控制权返回到单一入口文件( 7.1 版本 为 plugins/iirs_userPostList/frontLoader.inc.php )。 ? 单一入口文件检查是否存在此常量,然后启动 V 层: if( defined ('APP_TPL_FILENAME') ){ include plugintemplate('APP_TPL_FILENAME'); // ( 7.1 的插件模版引入写 法) }
  • 15. 02. 与 Discuz! 的相容设计——实现方式 ? 第二种:运用论坛已有架构型( 1 ) – 在灵活性和相容性取得较好的平衡。 – 但可能难以迁移到 PHP4 平台。文件比较多和分散。 – 个人较为推荐使用。
  • 16. 02. 与 Discuz! 的相容设计——实现方式 ? 第三种:运用论坛已有架构型( 2 ) – MVC 架构部分: ? M 层设计与“第二种:运用论坛已有架构型( 1 )”差不多; ? 但是 C 层完全遵循 Discuz! 插件设计原则,使用面向过程的写 法(在此之前还可能需要引入某个文件初始化框架资源),以 xxxxxx.inc.php 放在指定的插件目录内。 ? 此时, V 层的写法和 Discuz! 给出的写法一样。(见下一页的 代码) – 单一入口文件部分: ? 由 Discuz! 文件 plugin.php 处理。因此,不需要编写。
  • 17. 02. 与 Discuz! 的相容设计——实现方式 ? 第三种:运用论坛已有架构型( 2 ) – 例子:前台文件: plugins/iirs_ demo3/userController.inc.php <?php if(!defined('IN_DISCUZ')) {exit('Access Denied');} // 引入初始化框架文件 require_once(dirname(__FILE__).'/frameworkInit.php'); if('getPosts' == $action){ // 实例化 Model 并进行操作,此处略 include plugintemplate('getPosts'); // 启动 View 层( 7.1 的插件模版引入写法) }elseif ('getThreads' == $action){ // 实例化 Model 并进行操作,此处略 include plugintemplate('getThreads'); // 启动 View 层( 7.1 的插件模版引入写 法) }else{ showmessage('undefined_action', NULL, 'HALTED');
  • 18. 02. 与 Discuz! 的相容设计——实现方式 ? 第三种:运用论坛已有架构型( 2 ) – 与 Discuz! 和 PHP4 的相容性最好; – C 层需要在插件后台的设计中进行指定(必须填写程序 模块名称,和指定为红框所示的几个模块类型),灵 活性不足。
  • 19. 03. 其它问题 ? 问题:处理 Discuz! 的 cache – Discuz! 的 Cache 没有统一的格式,基本上引入一个 Cache 就产生了一个新的变量。这样的结果使得不同 的 Model 实例在引入相同的缓存时产生了困难。如文 献 [6] 提到的引入语言包缓存问题。 – 解决方法有,定义一个函数(或类静态方法),里面 有一个 static 变量,然后由它来加载缓存(加载时存储 到这个 static 变量中)和提供缓存数据。 – 熟悉 Zend Framework 框架的开发者可通过使用、修 改和扩展 Zend_Registry 类来达到目的。
  • 20. 04. 参考资料 ? [1] 维基百科 . MVC. http://zh.wikipedia.org/wiki/MVC ? [2] 百度百科 . MVC. http://baike./view/31.htm ? [3]Apple Inc. iPhone Dev Center: Cocoa Core Competencies: Model-View-Controller. http://developer.apple.com/iPhone/library/documentation/General/Conceptual/DevPedia- CocoaCore/MVC.html ? [4][ 加 ]Kevin McArthur 著 , 汪泳等译 . PHP 高级程序设计:模式、框架与测试 . 人民邮电出 版社 ? [5]shy9000. Discuz! 开发者教室之四【 Discuz! 7.1 开发技巧 JS 篇】 . http://bbs.7dps.com/thread-3306-1-1.html ? [6] 江湖大虾仁 . 对于 Discuz!7.1 基于 NC 开发插件使用 " 类 " 时慎用 _once 【开发者注意 】 . http://bbs.7dps.com/thread-3269-1-1.html ? [7] 七月十五 . 图解 MVC 模式 . http://bbs.phpchina.com/viewthread.php?tid=94397
  • 21. 感谢您的关注 Document is created by WPS OFFICE Presentation Template is designed by 小庞庞 Licensed Under a Creative Commons Attribution-Share Alike 3.0 Unported