站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/大规模系统部署
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} 本条目将讲述如何构架一个适合大规模[[应用程序]]的目录结构,以及应用目录的合理性建议。 请注意,如果是小型应用程序,使用[[SpeedPHP]]默认的controller / model等几个目录结构即可,这里讲述的是针对较大规模应用程序的部署。 ==大规模部署SP框架的目录结构建议== 首先我们来看一下本文将解决哪些问题: *sp框架能否支持modules(模块)式的开发? 支持 *sp框架如何部署成多入口的应用程序? *如何共用类库? *如何放置各种页面模板? *各应用程序(模块)如何共用同一配置信息? *sp框架能放在任何目录下使用吗? 可以 *媒体文件(图片、样式、[[JS]]脚本)如何放置比较合理? *目录安全性建议? 实例下载:http://speedphp.com/cms/uploads/release-dirs.zip 截图: [[Image:Speedphp release-dirs.gif]] 下面介绍各目录和文件的作用。 ===config.php=== config.php文件是全站通用配置文件,config.php的作用包括: *定义APP_PATH和SP_PATH常量,由于config.php文件的位置在应用程序主目录,所以config.php可以替代入口文件来定义这两个常量。 *对应用程序进行部分设置,比如时区设置。 *载入其他库类文件,比如载入用户自定义的函数文件(本例中是lib/functions.php文件) *定义全站通用配置,如[[数据库]]定义,模板引擎定义等,也就是$spConfig的定义。这里要注意本例中相关的多个路径配置已被改变,如model目录的被定义成了“APP_PATH.'/lib'”。 ===index.php admin.php member.php produce.php=== 各模块(模块也是:modules / 子系统 / 应用程序,以下都以模块为统称)的入口文件,每个入口文件均可以代表一个模块,在各个入口文件中,还可以定义以下内容: *首先必须载入config.php文件 *定义本模块的controller(控制器)路径,如admin.php中对controller路径的定义为“$spConfig['controller_path'] = APP_PATH.'/modules/'.basename(__FILE__,".php");”,该语言可以自动获取到入口文件的名称,并设置该模块的控制器目录与入口文件名称一致。也就是说,admin.php入口文件对应的控制器文件目录就是 APP_PATH / modules / admin 目录。 *载入SpeedPHP,开始执行程序。 ===lib目录=== 放置[[网站]]共用的类库文件,类库文件包括数据库模型类(spModel的派生类),操作类,第三方类库以及用户自定义函数等,由于这些类库在各个模块都会被用到,所以放置到独立的目录中,方便管理和重用。 [[Image:Speedphp release-dirs1.gif]] ===modules目录=== 相等于普通SpeedPHP应用程序的controller(控制器)目录,但是由于各个入口文件均有不同不配置,所以modules目录下还将分成与各入口文件名称相同的目录,分别存放各模块的控制器文件。 [[Image:Speedphp release-dirs2.gif]] ===template目录=== 放置[[html]]模板文件,template目录下可以按各模块的不同,分成不同的子目录来存放各模块的HTML模板文件。 这些模板当中,类似头部文件(header.html),底部文件(footer.html)等可以通用的模板文件,可以直接放在template目录目录下,让各HTML模板可以简单地引用。 请注意,在各个控制器中输出HTML模板的时候,要加上模板目录的名称: <pre>function index(){ // 这里是首页 $this->contents = "产品模块首页内容"; $this->display("produce/main_index.html"); } </pre> ===themes目录=== 放置图片、样式、JS脚本文件(统称媒体文件),这些文件可以根据使用的范围不同,而再进行分子目录,比如前台的媒体文件放到 template / index目录中,后台的媒体文件放置到 template / admin 目录中。 当然,这些媒体文件,也可以用其他方式存放,比如统一放到根目录的images下面,再在images下分开子目录。 无论如何放置,媒体文件放置的要点就是:将媒体文件与[[PHP]]、HTML模板都要分开,使得媒体文件可以独立管理,独立使用。 [[Image:Speedphp release-dirs3.gif]] ===tmp目录=== 临时文件目录 ===uploads目录=== 放置上传的文件的目录,对该目录的建议有: *上传文件最好按“年-月”作为目录形式来放置,如果每日上传量比较大,可以用“年-月-日”的目录形式来放置,最终要保证同一目录下文件不能太多,建议值是不要超过1024个文件。 *可上传文件要进行限制,建议仅能上传图片,压缩包等,以保证系统安全。 ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|D]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)