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解析
程序开发好了 需要部署 ,部署方法如下:
- 首先冻结当前项目,即把当前项目做成沙盒 , 把symfony 的lib 放到当前的data下 和lib 下(个人感觉 这是一个BUG,不需要同时放在两个位置 )
- symfony freeze path/to/symfonylib
- 先将文件上传(解压)
- 设置APACHE 配置虚拟机
- 设置对应文件权限,清缓存(如果有上传文件夹 同时也要设置相应的权限)
- 将cache 下的所有文件 清除
- 将web/uploads cache log 目录 设置成为777 (递归)
- 对于有shell的网站管理 员可以直接 用 symfony cc symfony proj:permissions来实现上面效果
- 调试
- 如果网页不能正常 访问 则 在脚本文件 后加上DEV ,如frontend_dev.php ,实际上是切换到了开发模式 ,开发模式会报告出各种错误 来帮助调式,如权限不中,找不到文件等等。
I’ve said that least 1730542 times. The problem this like that is they are just too compilcated for the average bird, if you know what I mean
Comment 由 a1730542 — 2011-11-20 @ 17:38
I’ve said that least 2154028 times. The problem this like that is they are just too compilcated for the average bird, if you know what I mean
Comment 由 a2154028 — 2011-11-20 @ 17:38
I’ve said that least 2489288 times. The problem this like that is they are just too compilcated for the average bird, if you know what I mean
Comment 由 a2489288 — 2011-11-20 @ 17:38
I’ve said that least 203778 times. The problem this like that is they are just too compilcated for the average bird, if you know what I mean
Comment 由 a203778 — 2011-11-20 @ 17:38