PHP--进行模块化设计
PHP--进行模块化设计
[来源] 达内 [编辑] 达内 [时间]2012-10-30
HP中的include和require中的两个函数,能在网站的设计中提高网站的建设效率与维护,现详细讲解如下:
include 函数与C中同名的预处理命令是不同的,它是一个给出文件名(如:include(test.PHP)),PHP就把文件调用于include的位置,并方试图解释该文件,它与函数的差别在于,只有执行include语句时,代码才被解析,因此在设计中通常在if语句中包含调用来得用这一优点;而require H数则总是包含了指定的文件,即使它位于if 语句中不被执行的地方。大家可以在PHP邮件列表的讨论中可以看见到这个问题:即require比include要快,因为PHP可以在通读代码的前期就可将指定文件插入到脚本中。所以在程序设计中若将一个文件包含在一个控制块中(如:if,switch,while,for),则用include,而其它情况就使用requirc 函数。
为什么我们应在PHP程序中使用include 和require呢?首先,首先是因为这样使代码可读性更好,其次是它可将站点分成 模块,这使得可以使在网站的设计中你只要编写了要复用的脚本,便可以在整个站点的建设及以后项目中复用,而不需要你重复工作,极大的提高了工作效率。许多web站点必须依赖一些重复的要素,如始终如一的导航条,它可以方便用户操作,但却给建设和维护站点D来很大问题。每一页都有必须重复的代码块贴在上面。把它做成模块并在每一个需要的页面中include or rquire 它,当需要修改时只需要修改一次即可,即只修改include的脚本模块即可。所以在一个网站的建设中,应该分析站点那部分是重复的?然后把重复的代码写成模块。如下是对站点模块划分的一种方式:
0、信息屏幕 1、数据库和文件动作 2、H数 3、布局 4、导航条。
现详细措述如下:
网站的核心是它所含的信息页面,其它的东西都是点缀。屏幕上显示的可以是HTML,也可以是PHP代码,从数据库或文件中提取并格式化数据,这些屏幕可根据其数量继续划分成各部分,这样比其他方法更有助于维护。第一屏的模块都与站点上可访问的页面相对应。根据页面在站点上出现的位置,可有相应的导航和布局。这样信息屏幕模块就成为选其余模块的关键。如网站的新闻发布系统。
导航模块可以简单列为一个关于三级页面链接的HTML文件。通常你可以通过用另一种颜色来标明对当前区域的链接来暗示用户他们现在所在的站点的区域。导航可以是位于页面左边的链接列表。每个按纽都是一个图像。在鼠标通过时它们会有所改变。可以创建一个模块,根据所选择的屏幕模块决定区域。相对来讲,用if语句来显示对当前区域链接的一种变换版本是比较容易的。
在构建站点时,极有可能碰上重复出现的代码段。用函数模块可以用来把这些功能放起。
好了对include和require的介绍就到这里了,相信对大家在网站的建设中会起到帮助。在下一篇数据库操作的封装就应用了include和require,希望能帮助大理解及起到抛砖引玉作用。
PHP--进行模块化设计的更多相关文章
- iOS程序模块化设计
一.模块化设计的概述: 模块化设计(Block-based design):对一定范围内的不同功能或相同功能的不同性能.不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和 ...
- 深入浅出百度地图API开发系列(3):模块化设计
在前面两张简单介绍了百度地图API的基础知识和使用之后,我们来分析一下百度地图API的基本架构,了解一下基本架构可以帮助我们更清晰的了解API的功能和调用过程,也就可以帮助我们在实际开发中可以更方便的 ...
- AngularJs学习笔记7——四大特性之模块化设计
模块化设计 1.引用自定义模块并调用 自定义模块中,如果有一些服务.封装好笑模块,在另外一个模块中(声明的时候,在依赖列表中加入要引入的模块) var app02 = angular.module(' ...
- C51的模块化设计方法
一个大的单片机程序往往包含很多模块,我是这样组织的: 1.每一个C源文件都要建立一个与之名字一样的H文件(头文件),里面仅仅包括该C文件的函数的声明,其他的什么也不会有,比如变量的定义啊等等不应该有. ...
- thinkphp学习笔记5—模块化设计
原文:thinkphp学习笔记5-模块化设计 1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: htt ...
- App 组件化/模块化之路——使用SDK的思路进行模块化设计接口
在不久之前分享一篇<App 组件化/模块化之路——如何封装网络请求框架>文章介绍了我在项目中封装网络请求框架的思路.开发一个 App 会涉及到很多网络请求 API ,例如登录注册接口.用户 ...
- 基于layui的框架模版,采用模块化设计,接口分离,组件化思想
代码地址如下:http://www.demodashi.com/demo/13362.html 1. 准备工作 编辑器vscode,需要安装liveServer插件在前端开启静态服务器 或者使用hbu ...
- Swift之xib模块化设计
一.解决问题 Xib/Storybarod可以方便.可视化的设置约束,在开发中也越来越重要.由于Xib不能组件化,使得封装.重用都变得不可行.本文将介绍一种解决方案,来实现Xib组件化. 二.模型块原 ...
- thinkphp 模块化设计
一个完整的ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器. ThinkPHP3.2采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块 ...
随机推荐
- ubuntu下打开终端插件
一个 nautilus 插件,用于在任意目录中打开终端 nautilus-open-terminal
- HTML 学习新理论
一直觉得没有时间,现在看到这样的网站: Bootstrap学习http://www.runoob.com/bootstrap/bootstrap-environment-setup.html Less ...
- iOS经典面试题
前言 写这篇文章的目的是因为前两天同学想应聘iOS开发,从网上找了iOS面试题和答案让我帮忙看看.我扫了一眼,倒吸了一口冷气,仔细一看,气的发抖.整篇题目30多个没有一个答案是对的,总结这篇面试题的作 ...
- SQL事务用法begin tran,commit tran和rollback tran的用法
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务. begin tran表示开始事务, commit tran表示提交 ...
- JVM的GC理论详解
GC的概念 GC:Garbage Collection 垃圾收集.这里所谓的垃圾指的是在系统运行过程当中所产生的一些无用的对象,这些对象占据着一定的内存空间,如果长期不被释放,可能导致OOM(堆溢出) ...
- Xamarin.iOS模拟器调试找不到资源文件
Xamarin.iOS模拟器调试找不到资源文件 在Visual Studio 2015中,运行Xamarin.iOS项目,出现找不到资源文件的错误.错误信息:System.IO.FileNotFoun ...
- 10688 XYM-AC之路
Description 在华农的众ACMers中,有着一位家喻户晓.人称一鸣惊人的DP神牛—XYM.由于XYM太出名了,他的仰慕者决定给XYM写一部个人传奇以传承他光辉的AC之路. 为了使故事更加真实 ...
- C# XML 文档注释文件格式
在编写 C# 代码时,只要在注释按照格式加入 XML 文档注释,例如: /// <summary> /// 这里是类的注释. /// </summary> public cla ...
- zoj 1097 普吕弗序列
题目大意:输入一颗无根树的括号序列,求这棵树的普吕弗序列. 分析思路: 1)普吕弗序列,可以参考维基百科,其做法是找出树中编号最小的叶子节点,并将此叶子节点及边删除,并输出其邻接的节点标号: 2)递归 ...
- html整理(2)
使用mailto在网页中链接Email地址 <a>标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件.我们还可以利用mailto做许多其它事情 ...