search
HomeBackend DevelopmentPHP TutorialPHP--进行模块化设计_PHP
PHP--进行模块化设计_PHPJun 01, 2016 pm 12:40 PM
includeCandocumentmodulesitepage

 PHP中的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,希望能帮助大理解及起到抛砖引玉作用。
 



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
WLAN扩展模块已停止[修复]WLAN扩展模块已停止[修复]Feb 19, 2024 pm 02:18 PM

如果您的Windows计算机上的WLAN扩展模块出现问题,可能会导致您与互联网断开连接。这种情况常常让人感到困扰,但幸运的是,本文提供了一些简单的建议,可以帮助您解决这个问题,让您的无线连接重新正常运行。修复WLAN扩展模块已停止如果您的Windows计算机上的WLAN可扩展性模块已停止工作,请按照以下建议进行修复:运行网络和Internet故障排除程序禁用并重新启用无线网络连接重新启动WLAN自动配置服务修改电源选项修改高级电源设置重新安装网络适配器驱动程序运行一些网络命令现在,让我们来详细看

WLAN可扩展性模块无法启动WLAN可扩展性模块无法启动Feb 19, 2024 pm 05:09 PM

本文详细介绍了解决事件ID10000的方法,该事件表明无线局域网扩展模块无法启动。在Windows11/10PC的事件日志中可能会显示此错误。WLAN可扩展性模块是Windows的一个组件,允许独立硬件供应商(IHV)和独立软件供应商(ISV)为用户提供定制的无线网络特性和功能。它通过增加Windows默认功能以扩展本机Windows网络组件的功能。在操作系统加载网络组件时,WLAN可扩展性模块作为初始化的一部分启动。如果无线局域网扩展模块遇到问题无法启动,您可能会在事件查看器的日志中看到错误消

Python常用标准库及第三方库2-sys模块Python常用标准库及第三方库2-sys模块Apr 10, 2023 pm 02:56 PM

一、sys模块简介前面介绍的os模块主要面向操作系统,而本篇的sys模块则主要针对的是Python解释器。sys模块是Python自带的模块,它是与Python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。二、sys模块常用方法通过dir()方法可以查看sys模块中带有哪些方法:import sys print(dir(sys))1.sys.argv-获取命令行参数sys.argv作用是实现从程序外部向程序传递参数,它能够获取命令行参数列

Python编程:详解命名元组(namedtuple)的使用要点Python编程:详解命名元组(namedtuple)的使用要点Apr 11, 2023 pm 09:22 PM

前言本文继续来介绍Python集合模块,这次主要简明扼要的介绍其内的命名元组,即namedtuple的使用。闲话少叙,我们开始——记得点赞、关注和转发哦~ ^_^创建命名元组Python集合中的命名元组类namedTuples为元组中的每个位置赋予意义,并增强代码的可读性和描述性。它们可以在任何使用常规元组的地方使用,且增加了通过名称而不是位置索引方式访问字段的能力。其来自Python内置模块collections。其使用的常规语法方式为:import collections XxNamedT

如何在 Python 中使用 DateTime如何在 Python 中使用 DateTimeApr 19, 2023 pm 11:55 PM

所有数据在开始时都会自动分配一个“DOB”(出生日期)。因此,在某些时候处理数据时不可避免地会遇到日期和时间数据。本教程将带您了解Python中的datetime模块以及使用一些外围库,如pandas和pytz。在Python中,任何与日期和时间有关的事情都由datetime模块处理,它将模块进一步分为5个不同的类。类只是与对象相对应的数据类型。下图总结了Python中的5个日期时间类以及常用的属性和示例。3个有用的片段1.将字符串转换为日期时间格式,也许是使用datet

Python 的 import 是怎么工作的?Python 的 import 是怎么工作的?May 15, 2023 pm 08:13 PM

你好,我是somenzz,可以叫我征哥。Python的import是非常直观的,但即使这样,有时候你会发现,明明包就在那里,我们仍会遇到ModuleNotFoundError,明明相对路径非常正确,就是报错ImportError:attemptedrelativeimportwithnoknownparentpackage导入同一个目录的模块和不同的目录的模块是完全不同的,本文通过分析使用import经常遇到的一些问题,来帮助你轻松搞定import,据此,你可以轻松创建属

Ansible工作原理详解Ansible工作原理详解Feb 18, 2024 pm 05:40 PM

Ansible工作原理从上面的图上可以了解到:管理端支持local、ssh、zeromq三种方式连接被管理端,默认使用基于ssh的连接,这部分对应上面架构图中的连接模块;可以按应用类型等方式进行HostInventory(主机清单)分类,管理节点通过各类模块实现相应的操作,单个模块,单条命令的批量执行,我们可以称之为ad-hoc;管理节点可以通过playbooks实现多个task的集合实现一类功能,如web服务的安装部署、数据库服务器的批量备份等。playbooks我们可以简单的理解为,系统通过

一文总结特征增强&个性化在CTR预估中的经典方法和效果对比一文总结特征增强&个性化在CTR预估中的经典方法和效果对比Dec 15, 2023 am 09:23 AM

在CTR预估中,主流都采用特征embedding+MLP的方式,其中特征非常关键。然而对于相同的特征,在不同的样本中,表征是相同的,这种方式输入到下游模型,会限制模型的表达能力。为了解决这个问题,CTR预估领域提出了一系列相关工作,被称为特征增强模块。特征增强模块根据不同的样本,对embedding层的输出结果进行一次矫正,以适应不同样本的特征表示,提升模型的表达能力。最近,复旦大学和微软亚洲研究院合作发布了一篇关于特征增强工作的综述,对比了不同特征增强模块的实现方法及其效果。现在,我们来介绍一

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version