php⽹站构架_⼀个简单的PHP⽹站结构
⼀个简单的PHP⽹站结构
由于之前学习过asp 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代码,如提交前验证,改善⽤户体验等,每个模块⾃成⼀个⽂件,如⽤户(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⽂件夹
⽤来存放⽹站模板,整个⽹站的风格在此统⼀:
php文件管理系统mvc 源码
其中,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,提交前的有效性验证οnsubmit="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原创,具有独⽴产权,如转载请注明出处。
本⽂原创发布php中⽂⽹,转载请注明出处,感谢您的尊重!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。