• 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上的小图标对应的图片
  • 相关阅读:
    pip安装软件时出现Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*的解决方案
    tidb安装
    TIDB 5.0 安装体验 怎么快速玩起来
    利用Tampermonkey(油猴)+ IDM 实现百度云盘大文件下载(IDM安装教程)
    python字典及相关操作
    【转载】CEO:我需要什么样的产品经理?
    2014年3月第三周/第一次跳槽、心情低潮期、与老总沟通问题
    hello word!
    function(event)中的event详解
    CSS 伪类
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/4320001.html
Copyright © 2020-2023  润新知