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文件夹

这里一般会配置成网站的根目录

这里面放的是一些前端资源文件了

比如这里面有css、fonts、img、js等文件夹用于放对应的文件

还有.index.php,是网站的唯一入口

还会放favicon.ico文件,这是浏览器tab上的小图标对应的图片

时间: 2024-12-09 17:01:13

cakephp文件结构的相关文章

在 CakePHP 中使用 SimpleExcel 遇到的一个问题小记

前言 以前在公司做的一个项目中遇到的一个问题,还有意思的. 问题 大家有没有在 CakePHP 中使用过第三方库?我现在在引入了一个名为 SimpleExcel 的第三方库时遇到了一些问题.我觉得问题可能跟我把这个库的库文件放在了不正确的目录下有关. 正常情况下,该库在解压后,会有一个名为 SimpleExcel 的目录,该目录下的文件结构如下: [email protected]:~/Desktop/faisalman-simple-excel-php-8d9fabc/src/SimpleEx

Android studio project文件结构翻译

Android studio project文件结构翻译 个人翻译,用作备忘. 链接地址:https://developer.android.com/tools/projects/index.html#ApplicationModules Android Project Files Studio的项目文件和设置,设置的作用范围包含所有的module. 以以下的demo为例. .git:git版本控制的文件存放目录. .gradle:gradle执行一些编译所生成的目录 Idea: 由Intell

PE文件结构与函数导出表——详解与实例

PE文件结构与函数导出表--详解与实例 随着windows系统从Xp升级到Win7.Win8, 从32位升级到64位,PE文件结构在整体未变的情况下发生了一些小的变动,一方面是推荐的程序装载地址未采用,另一方面,导出函数序号不再是简单的升序,而是一定程度上的进行了乱序.本文首先对PE文件结构进行了详尽的解说,接着介绍了如何得出函数导出表,整个过程采用SysWoW64目录下的wininet.dll实例进行说明.在介绍过程中,明确指出了Win7.Win8等新系统相对Xp带来的区别. 文章链接:htt

Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构

通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目录以及文件结构 如图所示: 如上图所示,自动构建的vue项目的结构就是这样. 目录/文件 说明 build 这个是我们最终发布的时候会把代码发布在这里,在开发阶段,我们基本不用管. config 配置目录,默认配置没有问题,所以我们也不用管 node_modules 项目开发依赖的一些模块 src 开发目录(

图像处理笔记一bmp文件结构处理与显示

1.1图和调色板的概念 如今Windows(3.x以及95,98,NT)系列已经成为绝大多数用户使用的操作系统,它比DOS成功的一个重要因素是它可视化的漂亮界面.那么Windows是如何显示图象的呢?这就要谈到位图(bitmap). 我们知道,普通的显示器屏幕是由许许多多点构成的,我们称之为象素.显示时采用扫描的方法:电子枪每次从左到右扫描一行,为每个象素着色,然后从上到下这样扫描若干行,就扫过了一屏.为了防止闪烁,每秒要重复上述过程几十次.例如我们常说的屏幕分辨率为640×480,刷新频率为7

JVM总结(三):类文件结构

这一节我们来总结一下类文件结构方面的知识.目录如下: 类文件结构 字节码的意义 Class类文件的结构 Class类文件的存储形式 Class文件的格式 Class类文件结构详解 举例详解 一.写程序 二.查看生成的相应的Class文件的16进制形式 三.深入解析 类文件结构 字节码的意义 为什么存在字节码?  字节码是构成Java平台无关性的基石.实现语言无关性的基础是虚拟机和字节码存储格式.  Java语言中的各种变量.关键字和运算符的语义最终是由多条字节码命令组成,因此字节码命令所能提供的

ecsop文件结构

Ecshop文件结构 :ecshop二次开发手册,ECSHOP文件结构,ECSHOP目录详解 /*ECShop 最新程序 的结构图及各文件相应功能介绍ECShop文件结构目录┣ activity.php 活动列表┣ affiche.php 广告处理文件┣ affiliate.php 生成商品列表┣ article.php 文章内容┣ article_cat.php文章分类┣ auction.php 拍卖前台文件┣ brand.php 品牌列表┣ captcha.php 生成验证码┣ catalo

Android学习心得(16) --- Dex文件结构实例解析(2)

我在博客上发表一些我的Android学习心得,希望对大家能有帮助. 这一篇我们讲述一下通过一个实例来分析dex文件结构和组成. 参考Leb128数据类型 Android学习心得(5) --- dex数据类型LEB128 参考实例分析学习理解dex文件结构Android学习心得(15) --- Dex文件结构解析(1) 参考baksmali工具使用Android学习心得(4) --- MAC下smali文件编写与运行 1.编译 我们通过一个例子来分析dex文件的构成 创建一个Hello.java文

走入asp.net mvc不归路:[1]项目文件结构

先来了解一下一个asp.net mvc项目的文件结构. 1 项目文件结构一览 2 mvc,顾名思义,一个项目中最重要的就是这三个东西:M(Model,模型),V(View,视图),C(Controller控制器),其关系一般如下,控制器控制模型和视图,模型传数据给视图: 3 控制器就是控制整个逻辑走向的机制,可以对模型数据进行处理,也可以控制呈现在用户眼前的视图. 4 一般来说,一类的操作会放在同一个控制器中,如账号相关则放于AccountController中,里面有各种Action,即一个一