zoukankan      html  css  js  c++  java
  • cakephp文件结构

    一个项目的开发会用到cakephp的那些文件呢?
    如果你的项目使用cake1.3.6,那么可以参考下面的内容
     
    根据我的经验,会涉及一下文件夹:
    config
    controllers
    models
    services
    vendors
    views
    webroot
    可能还需要
    logs
    locale
     
    我们一个文件夹一个文件夹的看
     
    config文件夹
    /config/core.php 核心文件,主要是通过Configure::write()和define()定义写全局静态变量
    /config/database.php 数据库配置文件
    /config/routes.php 路由配置文件
     
    controllers文件夹
    该文件夹下主要放MVC中的C层的代码,也就是控制层的代码,
    在该文件夹下还有个文件夹叫components
    在components文件里的文件是这么声明的:
    class FilterComponent extends Object{}
    这里面的类主要是对部分controller层的公共方法、代码的抽取
    在controller文件中通过定义变量$this->components = array('Filter')来声明这个controller会使用这个component,调用方式为$this->Filter->method()
    调 用一个controller时,会先调用每个controller里的beforeFilter(),调用完之后会再调用afterFilter()方 法。所以可以在基类的app_controller里面定义beforeFilter()函数,在里面进行用户身份校验等操作。
     
    models文件夹
    主要是MVC中的M层的代码,一般是数据库中有一个表,这里就需要有一个对应的model文件
    models文件夹下还会有个behaviors文件夹,这里面主要放对model行为进行监听的代码,一般是不需要用的。
    model在执行save、find时,会先执行beforeSave、beforeFind,在操作完成之后会执行 afterSave、afterFind函数,所以可以在这些函数中做过滤条件重组、规定关联层数等等
     
    services文件夹
    如果说component是对controller层的公共代码的抽取,那么services层就是对公共业务进行抽取。
    比如我们会把文件导出、验证码生成等公共后台业务放在这个文件夹下
     
    vendors文件夹
    这里会放我们引入的第三方php代码,以及我们希望组件化的自己写的php代码
    比如我们会把时间合适人性化、字符串去html标签等功能放在这里
     
    views文件夹
    这里就是放MVC中的V层代码了。
    一个controller会在这里对应一个以controller名为名字的文件夹,里面放对应的.ctp页面(.ctp实际就是.html页面)
    除此之外,这里还会放一个elements文件夹,这里面是对view层的公共代码的抽取。
    比如我们会把前端用户头像展示、表单等前台逻辑放在elements里面
     
    webroot文件夹
    这里一般会配置成网站的根目录
    这里面放的是一些前端资源文件了
    比如这里面有cssfontsimgjs等文件夹用于放对应的文件
    还有.index.php,是网站的唯一入口
    还会放favicon.ico文件,这是浏览器tab上的小图标对应的图片
  • 相关阅读:
    Java SE 疑难点记录
    重写(OverRide)与重载(OverlLoad),以及相对应的多态性
    Static 作用探讨
    Java SE作业:判断一个字符串是否是视频文件
    轨迹压缩之Douglas-Peucker算法之Java实现
    论主动思考与专注力——我的读研感悟
    西安电子科技大学2011级计算机科学与技术专业知识体系结构图
    Hadoop分布式平台概述
    Jest测试框架(未完)
    项目经验总结
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/4320001.html
Copyright © 2011-2022 走看看