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上的小图标对应的图片
  • 相关阅读:
    三角函数都快忘光了
    Windows 10 LTSC 2019(1809) WSL 安装 CentOS 7
    随手写了个京东发票助手
    ASP 封装基本身份认证( HTTP Basic Authenticate)辅助类
    WebBrowser中打开新页面
    将QT窗口嵌入到WinForm窗口
    [摘录]如何按需前端显示指定的窗口
    实现TabControl 选项卡首个标签缩进的方法
    玩转时间操作
    Java 并发包中的高级同步工具
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/4320001.html
Copyright © 2011-2022 走看看