站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/架构设计
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} [[SpeedPHP]]框架的架构设计遵循以下规则:[[MVC]]基础,按需载入,直接驱动,扩展点执行。 ==MVC基础架构== MVC(Model模型 - View视图 - Controller控制器)的三层架构是SpeedPHP框架的核心架构,这是一个实践证明了较为适合WEB系统开发的架构。 M层以spModel类为父类,提供[[数据]]及业务相关操作的模型结构标准与功能。 V层以[[PHP]]的模板引擎为基础,提供业界通用的模板引擎功能。 C层以spController类为父类,提供轻便的程序转向执行功能。 MVC架构是面向对象编程的最佳实践之一,通过对父类的继承和覆盖,将可让SpeedPHP框架的MVC各部件更强大和更适合当前的应用程序。同时,从软件工程角度而言,MVC架构也较为适合[[软件]]建模以及团队开发。 ==按需载入== 按需载入是SpeedPHP框架保持良好的运行速度的重要保证之一,应用程序启动初期,框架将仅载入MVC核心架构和核心函数库——包括了日常编程开发中80%的功能支持。余下的20%功能,将在程序需要的时候,才会搜索指定目录来载入功能文件。 按需载入的理念保证了应用程序的功能和速度两者的平衡。 ==直接驱动== 在大部分的通用PHP框架中,对数据库及模板引擎的支持,都是三层结构: 底层驱动(对[[数据库]]或模板的原始操作)-> 抽象层(转换表达式)-> 应用层(通用编程接口) 使用三层结构的主要原因有二: 1. 抽象层能够方便地支持多种数据库类型(模板引擎), 2. 应用层功能更多。 但在实际开发中,真正“经常”使用的数据库接口功能(模板引擎功能)都是比较少的,不外乎是CRUD(查增改删)等几个简化的操作以及复杂的SQL执行,呈现80/20的现象。也就是“开发者80%时间使用的功能,只占全部功能的80%。而有80%的功能,只有20%机会会使用到”。另外,经过试验也可以发现,其实在没有抽象层的情况,支持多数据库多模板引擎也并非难事。 综上考虑,SpeedPHP框架去除了抽象层的设计:底层驱动 -> 应用层。在保证应用成提供了常用接口功能的前提下,底层驱动和应用层直接实现了原本抽象层才能做到的事情,当然,SpeedPHP框架的直接驱动,在一定程度上,减少了应用层的功能数量。所以,一般来说,较复杂的数据库及模板引擎功能,均建议直接使用数据库句柄([[SQL]]语句)和模板引擎对象来实现(这部分只会有20%机会出现)。 ==扩展点执行== SpeedPHP框架对第三方程序和类库的支持,是通过直接调用和扩展功能来实现的。 直接调用指的是SpeedPHP框架的“按需载入”,通过框架提供的核心函数,开发者可以很方便地载入和使用第三方类库和功能函数。 扩展功能是框架在保存精简的前提下,实现更强大功能的模式之一。 扩展功能主要通过扩展点来实现,扩展点是多个分布在SpeedPHP框架不同关键位置的程序执行点,开发者可以方便地在应用程序设置中,控制和指示这些扩展点的执行,也就是可以自由地在扩展点中加入自己希望执行的[[代码]],以便达到更复杂的功能。 比如说在框架的路由系统中,存在着router_prefilter和router_postfilter两个扩展点,分别代表了路由系统“执行前”和“执行后”的扩展。如spUrlRewrite扩展程序就是通过router_prefilter(执行前)的扩展,以[[URL]]伪静态访问为基础,动态修改路由的访问方向,以达到伪静态转向的功能。 ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|SpeedPHP]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)