• 一个简单的PHP网站结构


    一个简单的PHP网站结构

    由于之前学习过asp.net mvc的网站开发,因此,在新接触一门新的语言时,也会自然或不自然地参考这种经历,然后做出网站。如果你也是刚开始接触php,并从最原始的方式开始写网站,那么,你可以参考下面一种做法,它也是经过参考和探索而形成的一种可能的PHP网站结构

    一种PHP网站结构

    其中,网站名即为项目文件夹,文件夹下分有css、js、images、includes、templates、up等等文件夹,其功能如下:
    目录及功能列表
    目录
    功能
    css
    专门用来存放css文件,一般每个模块独立成一个css文件,如用户(user.css),产品(product.css)等
    images
    用来存放网站所需的图片,如网站logo,背景图处,增删查改的图标等
    includes
    存放业务逻辑的代码,每个模块独立成一个文件,如用户(users.php),产品(products.php)等,每个文件是各种业务逻辑的处理方法的集合,如增、删等
    js
    集中存放js代码,如提交前验证,改善用户体验等,每个模块自成一个文件,如用户(user.js)
    templates
    这个是模块,如每个网页均需要html头部和html尾部,可以写成header.php,footer.php,然后在每个页面上把头和尾包含(include或require)一次,即可统一网站风格
    up 存放用户上传的图片,先按类别,再按时间分成多个文件,如/up/user/2012/2/12/xxxx.jpg

    根目录下,还会有许多独立的php文件,这些是呈现给用户的php文件,如用户注册(register.php),登录(login.php),首页(index.php)等文件。

    接下来,将更详细地说明每个文件夹下功能的实现方式:

    (1)css文件夹
    这个文件夹主要是把一个模块的所有css文件集中在一起,可以一处定义多处引用,这样当需要修改时,只需要改一处,比较方便修改和维护。
    如上所示,commom.css即是通用的Css属性,如链接的颜色,input元素去边框,统一规定网站文字大小,还有常见的clearfix或透明处理等代码,一般是会放在网站模板的头部(/templates/header.php);home.css则主要用在首页上;jquery-ui-1.8.19.custom.css则是jquery的标准界面文件

    (2)images文件夹
    主要是集中存放网站会用到的一些图片资源,如网站不同规格的logo,背景图片,增删查改的图标,加载图标等等

    (3)includes文件夹
    主要是集中保存业务逻辑处理文件,每个模块独立成一个文件,这些文件使用时,都需要进行包含(include或require):
    其中,
    a)_logOn.php是登录状态栏,并有一些快捷菜单,算是快捷通道板:
    b)baseConfigus.php则是数据库配置信息,是一些常量,方便访问数据库是统一代码,且不易错:
    c)commom.php是通用方法,如验证是否登录,是否管理员,上传文件,显示分页等
    d)users.php则用来处理与用户有关的业务逻辑,如修改用户信息,登录等

    (4)js文件夹
    功能结构与includes文件夹类似,此不多述。

    (5)templates文件夹
    用来存放网站模板,整个网站的风格在此统一:
    其中,header.php定义网页的头部,每个基本页面开头都需要包含它(include /templates/header.php):
    footer.php定义网页的尾部,每个基本页面的末尾也需要包含它:
    其中可以包含回顶部,到底部的功能,或者加上网站流量统计代码,如51la

    header_admin.php和footer_admin.php则是后台页面使用的模板,道理类似。

    (6)up文件夹
    这个文件夹保存用户上传的各种图片,如用户头像,产品头像等,各成一个文件夹:
    在用户文件夹下面,按年月日进行保存。

    (7)根目录下的php文件
    这些文件,一般就是直接面向用户的,即呈现给用户看的,虽然业务逻辑主要在includes文件夹中集中保存,但页面中不免仍需要一些访问数据库的代码。这些文件的共同特点是,必须包含网站模板,以统一风格:
    下面以用户登录(login.php)为例:
    a)头部
    b)尾部
    c)中间
    注意,这里主要是html语言写成的用户界面,需要一些构成:
    css或js引用,form,提交前的有效性验证onsubmit="return validateLogin();",以及登录出错时保留用户之前输入的信息if($_SERVER['REQUEST_METHOD']=='POST'){print $_POST['name'];}等
    d)登录提交(post方式)的处理,这里采用同一个页面进行处理
    即提交时,仍跳转到当前页面,只是需要对提交方式进行判断(是get还是post),然后做出不同的处理:
    其中Get方式时,若已经登录,则自动跳转到首页;若是Post方式时,时进行登录验证,验证成功则跳转到首页,失败时停留在当前页面。

    (8).一些处理技巧:
    a)借鉴C#的String.Format方法(保存在/includes/commom.php中):
    使用时,很方便,如打印从数据库中读出的数据时:
    b)由于以上一步a)的方式访问时,关于引号(单引号和双引号的问题),有时难以进行转义或转义时即出错,因此,可能灵活使用jquery来进行事件绑定(而非html元素事件的方式),如删除前的确认提示:

    本文由bluesky原创,具有独立产权,如转载请注明出处。
  • 相关阅读:
    Uboot命令使用
    git删除某次提交
    chrome随意改变主题
    C++11——处理日期和时间的chrono库
    C++11——多线程异步操作
    C++11——原子变量
    C++11——C++线程同步之条件变量
    C++11——C++线程同步之互斥锁
    C++11——call_once
    C++11——命名空间
  • 原文地址:https://www.cnblogs.com/xiaxiazl/p/2917928.html
Copyright © 2020-2023  润新知