php中CakePHP框架如何使用?

CakePHP 是约定优于配置的成熟 PHP 框架,支持快速构建可维护 Web 应用;提供内置 ORM、路由、表单、验证与安全防护,通过 Composer 初始化项目,遵循 MVC 结构与命名约定实现零配置运行。

php中cakephp框架如何使用?

CakePHP 是一个成熟、约定优于配置的 PHP Web 开发框架,适合快速构建结构清晰、可维护的 Web 应用。它自带 ORM、路由、表单处理、身份验证等常用功能,不用从零造轮子。

安装与项目初始化

推荐使用 Composer 创建新项目:

  • 运行 composer create-project –prefer-dist cakephp/app my_app_name,自动拉取最新稳定版 CakePHP 及依赖
  • 进入项目目录后,用 bin/cake server 启动内置开发服务器(默认 http://localhost:8765)
  • 确保 webroot/ 是 Web 服务器的根目录(Apache/Nginx 需正确配置 rewrite 规则,否则路由 404)

理解 MVC 结构与核心约定

CakePHP 强依赖命名和目录约定,不写配置也能工作:

  • 控制器类名以 Controller 结尾(如 ArticlesController),存于 src/Controller/
  • 对应模板文件在 templates/Articles/ 目录下,如 index.php → templates/Articles/index.php
  • 模型默认对应数据库表 articles(复数、小写、下划线),主键为 id;实体类(Article)自动映射字段
  • 路由默认按 /控制器/动作 匹配,例如 /articles/index 自动调用 ArticlesController::index() 方法

快速操作数据库(ORM 使用)

无需手写 SQL,用 Table 类和 Query 对象完成常见操作:


MixPHP3.0.27

MixPHP3.0.27

MixPHP 是一个 PHP 命令行模式开发框架;基于 Vega 驱动的 HTTP 可以同时支持 Swoole、WorkerMan、FPM、CLI-Server 生态,并且可以无缝切换;V3 是一个高度解耦的版本,整体代码基于多个独立的模块构建,即便用户不使用我们的脚手架,也可以使用这些独立模块,并且全部模块都支持原生开发。例如:你可以只使用 mix/vega 来搭配 laravel orm 使用

MixPHP3.0.27
12


查看详情
MixPHP3.0.27

立即学习PHP免费学习笔记(深入)”;

  • 在控制器中用 $this->fetchTable(‘Articles’) 获取 ArticlesTable 实例,或直接通过属性访问(如 $this->Articles)
  • 查数据:$articles = $this->Articles->find()->where([‘status’ => ‘published’])->all();
  • 新增记录:$article = $this->Articles->newEmptyEntity(); $article = $this->Articles->patchEntity($article, $this->request->getData()); $this->Articles->save($article);
  • 关联查询(如文章作者):在 ArticlesTable 中设置 $this->belongsTo(‘Users’);,然后用 find(‘all’)->contain(‘Users’)

表单、验证与安全防护

CakePHP 内置防 CSRF、XSS 和 SQL 注入机制,开箱即用:

  • 在模板中用 $this->Form->create() 生成表单,自动注入隐藏 CSRF token 字段
  • 模型中定义验证规则(如 in src/Model/Table/ArticlesTable.php 的 validationDefault 方法),提交时自动校验
  • 输出用户数据时,echo h($article->title)(h() 是 htmlspecialchars 的快捷函数),防止 XSS
  • 敏感操作(如删除)建议配合 isAuthorized() 方法做权限控制,或用 Authentication/Authorization 插件统一管理

基本上就这些。起步不复杂但容易忽略约定细节,建议先跑通一个带增删改查的简单模块(比如文章管理),再逐步加入分页、缓存、API 支持等功能。

以上就是php中CakePHP框架如何使用?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1818935.html

发表回复

Your email address will not be published. Required fields are marked *