cakephp部署及实例操作
1、下载cakephp框架代码
github地址
https://github.com/cakephp/cakephp/tree/2.x
git clone到本地环境
//这里因为我练习的是2.x版本,所以clone的是2.x分支
git clone -b 2.x https://github.com/cakephp/cakephp.git
2、下载完成之后需要对数据库配置文件进行修改
框架默认的为database.php.default需要复制一份放到当前目录的database.php中
对数据库配置进行修改
class DATABASE_CONFIG {public $default = array('datasource' => 'Database/Mysql','persistent' => false,'host' => 'localhost','login' => 'root','password' => 'root','database' => 'wyq','prefix' => '',//'encoding' => 'utf8',);public $test = array('datasource' => 'Database/Mysql','persistent' => false,'host' => 'localhost','login' => 'root','password' => 'root','database' => 'wyq','prefix' => '',//'encoding' => 'utf8',);
}
3、配置本地环境
cakephp的入口文件在 cakephp/app/wwwroot目录,在本机环境调试成功后访问网站显示,这里我用的是phpstudy
配置完成之后访问网站cakephp.com显示页面,网站就搭建成功了
4、创建模型
首先创建模型User.php 这里只需要创建一个User类在app/Model目录下创建该User类
<?php
/*** Created by PhpStorm.* User: wyq* Date: 2021/7/7* Time: 16:30*/class User extends AppModel
{}
5、创建控制器
然后创建Usercontroller.php控制器代码
<?php
/*** Created by PhpStorm.* User: wyq* Date: 2021/7/7* Time: 16:32*/class UserController extends AppController
{public $helpers =array('Html', 'Form');public function index(){//调用模型方法查找user表中的全部数据$params = $this->User->find('all');//参数绑定、页面渲染$this->set('params',$params);}
}
6、页面布局修改
这里cakephp2.x有自己默认的系统布局在app/view/Layouts/default.ctp
<?php
$cakeDescription = __d('cake_dev', 'CakePHP: the rapid development php framework');
$cakeVersion = __d('cake_dev', 'CakePHP %s', Configure::version())
?>
<!DOCTYPE html>
<html>
<head><?php echo $this->Html->charset(); ?><title><?php echo $cakeDescription ?>:<?php echo $this->fetch('title'); ?></title><?phpecho $this->Html->meta('icon');echo $this->Html->css('cake.generic');echo $this->fetch('meta');echo $this->fetch('css');echo $this->fetch('script');?>
</head>
<body><div id="container">//模板的头部<div id="header"><h1><?php echo $this->Html->link($cakeDescription, 'https://cakephp.org'); ?></h1></div>//自定义内容<div id="content"><?php echo $this->Flash->render(); ?><?php echo $this->fetch('content'); ?></div>//页脚<div id="footer"><?php echo $this->Html->link($this->Html->image('cake.power.gif', array('alt' => $cakeDescription, 'border' => '0')),'https://cakephp.org/',array('target' => '_blank', 'escape' => false, 'id' => 'cake-powered'));?>//cakephp版本<p><?php echo $cakeVersion; ?></p></div></div>//输出sql语句<?php echo $this->element('sql_dump'); ?>
</body>
</html>
在这里我将模板换成了layui的后台管理页面代码如下
<?php
$cakeDescription = __d('cake_dev', 'CakePHP: the rapid development php framework');
$cakeVersion = __d('cake_dev', 'CakePHP %s', Configure::version())
?>
<!DOCTYPE html>
<html>
<head><?php echo $this->Html->charset(); ?><title><?php echo $cakeDescription ?>:<?php echo $this->fetch('title'); ?></title><link rel="stylesheet" href="/css/layui.css"><!-- 最新版本的 Bootstrap 核心 CSS 文件 --><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head><body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">//头部<div class="layui-header"><div class="layui-logo">layui 后台布局</div><!-- 头部区域(可配合layui已有的水平导航) --><ul class="layui-nav layui-layout-left"><li class="layui-nav-item"><a href="">控制台</a></li><li class="layui-nav-item"><a href="">商品管理</a></li><li class="layui-nav-item"><a href="">用户</a></li><li class="layui-nav-item"><a href="javascript:;">其它系统</a><dl class="layui-nav-child"><dd><a href="">邮件管理</a></dd><dd><a href="">消息管理</a></dd><dd><a href="">授权管理</a></dd></dl></li></ul><ul class="layui-nav layui-layout-right"><li class="layui-nav-item"><a href="javascript:;"><img src="http://t.cn/RCzsdCq" class="layui-nav-img">贤心</a><dl class="layui-nav-child"><dd><a href="">基本资料</a></dd><dd><a href="">安全设置</a></dd></dl></li><li class="layui-nav-item"><a href="">退了</a></li></ul></div>//左边的导航栏<div class="layui-side layui-bg-black"><div class="layui-side-scroll"><!-- 左侧导航区域(可配合layui已有的垂直导航) --><ul class="layui-nav layui-nav-tree" lay-filter="test"><li class="layui-nav-item layui-nav-itemed"><a class="" href="javascript:;">所有商品</a><dl class="layui-nav-child"><dd><a href="javascript:;">列表一</a></dd><dd><a href="javascript:;">列表二</a></dd><dd><a href="javascript:;">列表三</a></dd><dd><a href="">超链接</a></dd></dl></li><li class="layui-nav-item"><a href="javascript:;">解决方案</a><dl class="layui-nav-child"><dd><a href="javascript:;">列表一</a></dd><dd><a href="javascript:;">列表二</a></dd><dd><a href="">超链接</a></dd></dl></li><li class="layui-nav-item"><a href="">云市场</a></li><li class="layui-nav-item"><a href="">发布商品</a></li></ul></div></div>//主题自定义内容<div id="content" class="layui-body" style="padding: 15px;margin-top: 60px;"><?php echo $this->Flash->render(); ?><?php echo $this->fetch('content'); ?></div></div>
</body>
</html>
将模板布局修改完成之后可以编写user的视图代码,在app/view下创建一个user目录,在里面创建一个index.ctp文件,名称和控制器方法同名。代码如下
<table class="table table-striped"><tr><th>姓名</th><th>密码</th></tr><?php foreach($params as $v): ?><tr><td><?=$v['User']['name']?></td><td><?=$v['User']['password']?></td></tr><?php endforeach; ?></table>
页面效果展示:
cakephp部署及实例操作相关推荐
- 源端RAC数据库删除实例操作时GoldenGate的运维流程
文章背景 周六下午突然接到一个颇为头疼的任务--尽快为某客户提供一个 GoldenGate 操作方案,大体背景如下: 客户的生产环境是 Oracle 11GR2 的三节点的 RAC ,上面部署了两套 ...
- jar k8s 自己的 部署_微服务架构 - 离线部署k8s平台并部署测试实例
一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...
- countif和sum套用_if函数嵌套countif、sumif函数实例操作详解 你需要学习了
excel中if函数嵌套countif函数实例操作详解,需要了解if函数.countif函数.sumif函数字符串引用方式,isblank函数 操作方法 01 用扫描枪连接excel后将自动将货物名称 ...
- java hashmap实例,关于java中的HashMap的实例操作
HashMap简介: 1.以(键,值)对存储数据. 2.不允许有重复的键,但允许有重复的值. 3.不同步(多个线程可以同时访问) 相关视频教程推荐:java在线学习 实例演示如下: 1.添加 Hash ...
- 搭建: canal部署与实例运行
搭建: canal部署与实例运行 数据库读log同步用 详见下面 查看全文 http://www.taodudu.cc/news/show-1081776.html 相关文章: idea插件开发(01 ...
- 织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作
这篇文章主要为大家详细介绍了织梦快速批量修改MYSQL数据库表前缀与表名实例操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 我们在安装织梦系统的时候,有一次 ...
- mysql简单部署_安装部署Mysql实例(最简单快速噢)
题外话 作为Mysql DBA,我们平时必须要熟练的一个最最基础的技能,即安装部署Mysql实例,所以本文分享一个快速安装部署Mysql实例的方法. 一.环境介质准备 Mysql安装包准备 服务器准备 ...
- 《SolidWorks 2017中文版机械设计从入门到精通)》——2.7 复合草图实例操作
本节书摘来自异步社区<SolidWorks 2017中文版机械设计从入门到精通>一书中的第2章,第2.7节,作者: 赵罘 , 杨晓晋 , 赵楠 更多章节内容可以访问云栖社区"异步 ...
- linux apple开发环境,Linux上构筑iPhone OS3.1.2开发环境 实例操作
Linux上构筑iPhoneOS3.1.2开发环境 实例操作是本文要介绍的内容,开发iPhone应用程序标准的环境配置是基于intel Mac的.虽说现在Mac很便宜,但是仍然大部分人仍然在用wind ...
最新文章
- redis持久化方案
- 在Horizon Workspace中配置Windows单点登录-进阶篇
- 多喜临门,BCH币价应声上涨
- RANSAC算法原理与实现
- aix6.1 oracle12c,AIX6.1系统 oracle 11g数据库恢复过程
- atmega8 例程:PWM
- c++常用知识点,易错点,面试常问点
- jQuery删除节点和追加节点
- python hello world程序编写_用Python编写一个简单程序
- maven 打包时动态替换properties资源文件中的配置值
- 12.04 安装svn
- 大数据和商业智能BI有什么关系
- Django常用命令
- 如何使用离线网站,打开离线网站
- libiconv移植
- v65智慧屏是真的鸿蒙,华为智慧屏V65深测:真智慧or增智慧?
- mintui MessageBox用法
- 谷歌地图网页版_如何在网站嵌入谷歌地图
- 如何在论文中正确引用参考文献(自动标注)
- 【老生谈算法】matlab实现图像放大算法——图像放大算法
热门文章
- 1/cos^3的不定积分 cos^3分之一的不定积分
- 2019 Selenium3与Python3实战开发Web自动化测试框架(一)
- 高薪程序员面试题精讲系列152之电商专题(中)-SPU是怎么回事?SPU如何设计?SKU又是什么呢?SN你知道吗?
- 【PC工具】开源绿色好看实用桌面时钟Digital Clock 4
- Android相机开发详解(一)
- 织梦 plus/download.php,织梦/plus/download.php url重定向漏洞的解决方法
- 3D模型读取库:Assimp
- XSS注入基础入门篇
- java中级程序员面试题_中级Java程序员常见面试题汇总
- LiveVideoStackCon 2022 上海站优秀出品人、讲师及志愿者