框架搭建---文件目录结构

       搭建项目框架的第一步是先明确目录结构及其作用. 确定好目录后即可布局功能模块, 插件, 基础代码层等等.  这里列出我曾做过的项目目录结构。


├── app
│   ├── config
│   ├── controllers
│   ├── errors
│   ├── helpers
│   ├── hooks
│   ├── language
│   ├── models
│   └── views
├── lib
│   ├── codeigniter
│   ├── component
│   ├── module
├── private
│   ├── excel_tmpl
│   └── product_img
├── public
│   ├── css
│   ├── image
│   ├── js
│   ├── plugin
│   └── swf
├── resource
└── tmp
    ├── cache
    ├── log
    └── session


第一层目录有: app, lib, private, public, resource, tmp

       app               存放项目功能实现代码,   三层架构中的控制器, 视图, 模型层,  配置等等.


       lib                  存放基础类库、第三方类库、组件、框架底层架构.


       private          存放外部不可访问的文件,   如: 用户上传的文件,  公司尚未对外发布的新产品图片等等,  

                             建这个目录的好处多多啊,  1. 外部用户不可能访问到, 2. 可以将这个目录设置为禁止执行PHP代码.  

                             即使用户上传了恶意代码文件也执行不了,大大提高安全性。

                             笔者曾经遇到过被恶意上传了一个包含 system(), eval()等代码的图片文件, 

                             并通过URL参数执行图片中包含的PHP代码而导致整个数据库被拖。


      public             存放外部可访问文件, 如:css, 图片, js, 入口文件。

                              它是项目的根目录,  这里有 index.php 入口文件, 所有控制器的访问都通过这个入口文件调用。

                              这种模式叫单一入口模式。

                              单一入口模式的好处是可以在入口文件中做统一的安全检查、权限控制、基础类库加载、  初始化框架, 

                              总之所有的初始化都在这里完成。


      resource        存放一些说明文件, 需求文档等共享项目文档。


      tmp                  所有临时文件都放到这里, 如: 静态缓存文件、临时日志、会话等等。


      第二层目录只讲几个主要的,其它目录相信大家看名字就知道是干麻用的。

           app/config/    -------->  存放项目配置文件

├── autoload.php     需要自动加载的类或者文件路径

├── config.php          项目配置

├── constants.php   定义项目用到的常量

├── database.php    数据库配置文件

├── hooks.php          钩子函数

├── smarty.php         smarty 配置文件


lib/
├── codeigniter      第三方框架存放目录
├── component      组件存放目录
├── module            独立功能模块存放目录
│   ├── alipay
│   └── smarty
      ├── phpexcel


下一期将讲解框架设计及类的分层, 敬请期待

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值