一个项目的开发会用到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文件夹
这里一般会配置成网站的根目录
这里面放的是一些前端资源文件了
比如这里面有css、fonts、img、js等文件夹用于放对应的文件
还有.index.php,是网站的唯一入口
还会放favicon.ico文件,这是浏览器tab上的小图标对应的图片

cakephp文件结构的更多相关文章

  1. [转]Patch文件结构详解

    N久不来 于是不知道扔在哪儿于是放这里先 如果你觉得碍事的话 帮我扔到合适的版块去.. 导读这是一篇说明文 它介绍了标准冒险岛更新文件(*.patch;*.exe)的格式文章的最后附了一段C#的参考代 ...

  2. 《深入理解Java虚拟机》类文件结构

    上节学习回顾 在上一节当中,主要以自己的工作环境简单地介绍了一下自身的一些调优或者说是故障处理经验.所谓百变不离其宗,这个宗就是我们解决问题的思路了. 本节学习重点 在前面几章,我们宏观地了解了虚拟机 ...

  3. 了解npm的文件结构(npm-folders)和配置文件(npm-mrc)

    一.npm的文件结构 npm的安装: 本地安装 1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm ...

  4. jvm--1.class文件结构

    1.字节码(1)bytecode是构成平台无关性的基石 (2)当jvm发展到1.7-1.8的时候,jvm设计者通过,JSR-292,基本可以让其他语言运行在jvm上面. 如,Clojure , Gro ...

  5. Nova PhoneGap框架 第五章 文件结构

    一个好的项目架构必然有着合理的文件结构,如果一个项目的文件组织混乱,那么可以断言一定是项目架构有问题. 合理的文件结构能够帮你更清晰的管理你的文件,并且当需要添加新的文件的时候,你的程序员很清楚应该加 ...

  6. 再探.NET的PE文件结构(安全篇)

    一.开篇 首先写在前面,这篇文章源于个人的研究和探索,由于.NET有自己的反射机制,可以清楚的将源码反射出来,这样你的软件就很容易被破解,当然这篇文章不会说怎么样保护你的软件不被破解,相反是借用一个软 ...

  7. 【来至百度百科】linux文件结构

    文件结构 /:根目录,所有的目录.文件.设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者. /bin:bin 就是二进制(binary)英文缩写.在一般的系统当中,都可以在这个目录 ...

  8. [数据库]cakephp操作ENUM、tinyint等类型的一点说明

    之前无法正常更新ENUM类型的数据,感觉是框架函数实现的bug. 问题很诡异,因为INIT的时候是可以成功写入的,没理由UPDATE的时候不成功. 前后琢磨了一下午,发现了一点蛛丝马迹才终于想通.问题 ...

  9. 最新一代文件结构 超高性能解析IP数据库 qqzeng-ip.dat

    高性能IP数据库格式 qqzeng-ip.dat 编码:UTF8           字节序:Little-Endian 返回多个字段信息(如:亚洲|中国|香港|九龙|油尖旺|新世界电讯|810200 ...

随机推荐

  1. git学习相关的博客地址

    Git分支管理策略: http://www.ruanyifeng.com/blog/2012/07/git.html Git 使用规范流程: http://www.ruanyifeng.com/blo ...

  2. 开源一个爬取redmine数据的测试报告系统

    背景 软件测试的最后有一道比较繁琐的工作,就是编写测试报告.手写测试报告在数据统计和分析上面要耗费比较大的事件和精力.之前工作室使用mantis管理bug缺陷.公司有内部有个系统,可以直接从manti ...

  3. linux服务器的性能分析与优化(十三)

    [教程主题]:1.linux服务器的性能分析与优化 [主要内容] [1]影响Linux服务器性能的因素 操作系统级 Ø CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间 ...

  4. Error:不能将"char*"类型的值分配到"LPSTR"类型的实体 也许 "char*"类型的实参与"LPCWSTR"类型的形参不兼容

    http://www.myexception.cn/ruby-rails/1876106.html 选择“XXX项目”->“属性”->“配置属性”->“常规”选项中,把“使用 Uni ...

  5. Java设计模式(18)策略模式(Strategy模式)

    Strategy是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类. Stratrgy应用比较广泛,比如,公司经营业务变化图,可能有两种实现方式,一个是线条曲线, ...

  6. jPlayer 视频播放

    在网页中播放MP4格式视频代码:显示效果如下图,缺陷是不能自动适应页面大小,只能全屏 <!DOCTYPE html> <html> <head> <meta ...

  7. 安卓程序代写 网上程序代写[原]C语言基础

    C 作者:han1202012 发表于2013-11-1 19:53:29 原文链接 阅读:28 评论:0 查看评论

  8. Linux下面makefile编写

    源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器.   下面我们以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hello.c或者 ...

  9. 在kali linux之下 下载并解压的文件名呈现乱码 解决方案

    从Linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名中文编码默认为GBK,而Linux中默认 ...

  10. Axiom3D:Ogre公告板集与合并批次

    在上文中,我们把Ogre里的网格分解成点线面后,我们要完成一个新的功能,在点上突出显示. 得到顶点位置后,这个功能也就是一个很简单的事,最开始是每个顶点添加一个子节点,节点上添加一个圆点. forea ...