2008-12-23

symfony目录结构及部署办法说明

类归于: symfony — 标签:, bobhero @ 13:31

Symfony   实现了  MVC 结构 ,其目录结构 对于 初学者  或是 不习惯 MVC 结构 的人来说可以称得上 诡异,在这里简单说一下主要的目录 结构的作用。

通常 symfony  在初始化的时候建立 的 目录 结构是不用修改的 ,因为必竟经过了3年的精练 ,应该 比较 能适应大多数网站用户的 需要 。

默认目录结构如下

project/                                                                                                                                   项目文件夹

–apps/                                                                                                                                    多个入口 ,一般分前后台,或是多个用户等,主要用来区别大方向上的功能群变化

—-app1/                                                                                                                                 功能1,名字随便,代表一个功能 的集合,SYMFONY官方通常用frontend 来表示 前台

——config/                                                                                                                            所有config 的目录 都是存放 与其最近的上级目录 代表的功能  的配置文件  如 app1/config 代表 是app1的配置文件

——i18n/                                                                                                                                 i18n代表当前app的 多语言文件 存放位置

——lib/                                                                                                                                    所有lib 目录 都是代表 库文件 目录  与config 一样 ,如果只作用于当前的最近的功能

——modules/                                                                                                                          当前application 的模块存放文件

——–module1/                                                                                                                        某一个功能模块 名字任意

———-actions/                                                                                                                       当前模块的动作一般只有一个文件 也就是最核心的部分,所有动作都最终会被 路由到这里的文件中

———-config/                                                                                                                         同上config

———-lib/                                                                                                                                同上lib

———-templates/                                                                                                                   所有叫templates的文件夹用来存放模板,工作机制同lib ,config

——–module2/

——templates/                                                                                                                         同上templates

—-app2/

–cache/                                                                                                                                     缓存文件夹 通常 用来被 清空  要注意保持此目录 可写

–config/                                                                                                                                    同上config

–data/                                                                                                                                        存放symfony项目的数据  ,如 sql 文件 ,测试数据等

–doc/                                                                                                                                         存放文档

–lib/                                                                                                                                            同上lib  ,这个是作用于全局的,一般不想被外面直接访问到的类库可以放到这里

—-filter/                                                                                                                                      过滤器类存放文件夹

—-form/                                                                                                                                      表单类存放文件夹

—-model/                                                                                                                                    数据模型存放文件夹

—-validator/                                                                                                                               验证器存放文件夹

—-vendor/

—-widget/                                                                                                                                   存放自定义表单元素类的文件夹

–log/                                                                                                                                             日志存放位置

–plugins/                                                                                                                                      插件存放位置

–test/                                                                                                                                             测试存放位置

–web/                                                                                                                                             网站的根目录  只允许外部访问 此目录  其它都没有办法 通过URL 直接访问 到 大大提高了网站代码的安全性

–symfony                                                                                                                                      symfony命令文件 ,方便快捷的操作SYMFONY项目的PHP 脚本。想使用时需要先加权限,并确保可以被php解析

程序开发好了 需要部署 ,部署方法如下:

  1. 首先冻结当前项目,即把当前项目做成沙盒  , 把symfony 的lib 放到当前的data下 和lib 下(个人感觉 这是一个BUG,不需要同时放在两个位置 )
    1. symfony freeze path/to/symfonylib
  2. 先将文件上传(解压)
  3. 设置APACHE 配置虚拟机
  4. 设置对应文件权限,清缓存(如果有上传文件夹 同时也要设置相应的权限)
    1. 将cache 下的所有文件 清除
    2. 将web/uploads cache  log 目录 设置成为777 (递归)
    3. 对于有shell的网站管理 员可以直接  用 symfony cc                    symfony proj:permissions来实现上面效果
  5. 调试
    1. 如果网页不能正常 访问   则 在脚本文件 后加上DEV ,如frontend_dev.php ,实际上是切换到了开发模式 ,开发模式会报告出各种错误 来帮助调式,如权限不中,找不到文件等等。

评论暂缺 »

还没有任何评论。

这篇文章上的评论 RSS feed TrackBack URL

留下评论

WordPress 所驱动