• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

yii2 框架 安装、目录介绍、路由、模型、视图、控制器、留言板案例

Mr.Lee 由 Mr.Lee
2018年6月9日
在 Yii, 后台框架
0
yii2 框架 安装、目录介绍、路由、模型、视图、控制器、留言板案例
0
分享
0
浏览

Yii2框架

一、Yii2框架

1、什么是Yii2易框架

就是用PHP语言开发的框架

PHP框架区别和常见问题

1)常用PHP框架





C语言开发


2)常见问题

问:你觉得XXX框架是轻量级还是重量级?

答:框架帮你做的事越多,框架越重。(其次:设计是否复杂? 运行速度? 更接近原生?)

问:一般设计框架的时候都需要权衡?

答:开发效率和运行效率(yaf、Phalcon)。

下载并安装

︴网址

官网:http://www.yiiframework.com

中文:http://www.yiichina.com

︴下载


︴使用

  • 步骤1:解压到指定目录中
  • 步骤2:初始化,通过命令【php init】

  • 步骤3:访问

三、目录介绍

四、控制器

http://l.com/yii2/frontend/web/index.php?r=test/index

路由

路由访问规则

域名/index.php?r=控制器名/方法名

<?php

namespace frontend\controllers;

use Yii;

use yii\web\Controller;

/**

* 测试控制器

*/

class TestController extends Controller

{

/**

* Displays homepage.

*

* @return mixed

*/

public function actionIndex()

{

echo 66666;die;

return $this->render(‘index’);

}

public function actionAdd()

{

echo 7777777777;die;

}

}

脚下留心:方法前缀必须是action开头

美化路由(自定义路由)


六、视图

1、语法

加载视图并传递数据(数组中的键后期在视图中直接当变量使用)

return $this->render(‘index’, [

‘test1’ => 111,

‘test2’ => ‘dsfsdfa’,

‘test3’ => array(‘name’, 666, ‘aaa’)

]);

模板显示数据通过<?= $变量名 ?> (注:<?= 相当于 <?php echo )

2、练习


七、模型

1、准备

  • 模型使用手册:http://blog.csdn.net/ww_smile7/article/details/53410166
  • 设置数据库配置文件

  • 定义模型

<?php

namespace common\models;

use Yii;

use yii\db\ActiveRecord;

/**

* Login form

*/

class Php12 extends ActiveRecord

{

}

2、练习

查询所有

查询一条


插入

八、留言板案例

︴效果


︴代码

准备

  • 创建表

create table msg (

id int primary key auto_increment comment ‘编号’,

title varchar(60) not null comment ‘标题’,

`desc` text comment ‘描述’,

created_at int default 0 comment ‘创建于’,

updated_at int default 0 comment ‘更新于’

)engine=myisam charset=utf8;

  • 创建模型

<?php

namespace common\models;

use Yii;

use yii\db\ActiveRecord;

/**

* Login form

*/

class Msg extends ActiveRecord

{

}

列表功能

  • 步骤1:定义路由

  • 步骤2:创建控制器方法、查询所有留言数据并传递给视图

<?php

namespace frontend\controllers;

use Yii;

use common\models\Msg;

use yii\web\Controller;

/**

* 测试控制器

*/

class MsgController extends Controller

{

//说明laravel框架有layout模板机制

//声明属性决定layout是否使用

//当前控制器都生效

public $layout = false;

public function actionIndex()

{

//1.查询数据通过模型

$msgs = Msg::find()->all();

//2.加载视图并传递数据

return $this->render(‘index’, [

‘msgs’ => $msgs

]);

}

}

  • 步骤3:创建视图

  • 步骤4:循环显示数据

<!DOCTYPE html>

<html>

<head>

<meta charset=”utf-8″>

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

<meta content=”telephone=no, address=no” name=”format-detection”>

<meta content=”width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no” name=”viewport”>

<title>微留言演示案例</title>

<link rel=”stylesheet” type=”text/css” href=”./message/msg.css” media=”all” />

</head>

<body id=”message” onselectstart=”return true;” ondragstart=”return false;”>

<div class=”container”>

<div class=”qiandaobanner”>

<a href=”./message”>

<img src=”./message/wall.jpg” style=”width:100%;” />

</a>

</div>

<div class=”cardexplain”>

<div class=”window” id=”windowcenter”>

<div id=”title” class=”wtitle”>操作提示<span class=”close” id=”alertclose”></span></div>

<div class=”content”>

<div id=”txt”></div>

</div>

</div>

<div class=”history”>

<div class=”history-date”>

<ul>

<?php foreach ($msgs as $msg) : ?>

<li class=”green bounceInDown”>

<h3>

<img src=”./message/logo100x100.jpg”>

<?= $msg->title ?>

<span><?= date(‘Y-m-d’, $msg->created_at) ?></span>

<div class=”clr”></div>

</h3>

<dl>

<dt class=”hfinfo”><?= $msg->desc ?></dt>

</dl>

</li>

<?php endforeach; ?>

<li class=”green bounceInDown nob ly2″ style=”display:none;”>

<form action=”” method=”post” class=”form1″>

<dl>

<dt>

<input name=”uname” type=”text” class=”px” id=”uname” value=”” placeholder=”请输入您的昵称”>

</dt>

<dt>

<textarea name=”content” class=”pxtextarea” style=” height:60px;” id=”content” placeholder=”请输入留言内容”></textarea>

</dt>

<dt>

<a class=”submit” href=”javascript:void(0);”>提交留言</a>

</dt>

</dl>

</form>

</li>

<a><h2 class=”first first2″ style=”position: relative;”>点击留言</h2></a>

</ul>

</div>

</div>

</div>

</div>

<script type=”text/javascript” src=”./message/jquery.js”></script>

<script type=”text/javascript”>

$(function(){

//留言表单显示切换

$(“.first1”).click(function(){

$(“.ly1”).slideToggle();

});

$(“.first2”).click(function(){

$(“.ly2”).slideToggle();

});

//点击提交留言a标签,则提交表单

$(‘.submit’).click(function(){

//判断用户名和密码不能为空

var uname = $(‘#uname’).val();

var content = $(‘#content’).val();

if (uname == ” || content == ”) {

alert(‘请输入昵称或留言内容’);

return;

}

//提交表单

$(‘.form1’).submit();

});

});

</script>

</body>

</html>

添加功能

  • 定义路由处理添加数据

  • 创建控制器方法处理数据

<?php

namespace frontend\controllers;

use Yii;

use common\models\Msg;

use yii\web\Controller;

/**

* 测试控制器

*/

class MsgController extends Controller

{

//说明laravel框架有layout模板机制

//声明属性决定layout是否使用

//当前控制器都生效

public $layout = false;

//关闭cstf验证

public $enableCsrfValidation = false;

//添加

public function actionCreate()

{

//1.判断是否post提交

if (Yii::$app->request->isPost) {

//2.接受数据

$title = Yii::$app->request->post(‘uname’);

$desc = Yii::$app->request->post(‘content’);

//3.实例化对象并保存数据

$msg = new Msg;

$msg->title = $title;

$msg->desc = $desc;

$msg->created_at = time();

$msg->updated_at = time();

$rs = $msg->save();

return $this->redirect([‘/msg’]);

}

}

//列表

public function actionIndex()

{

//1.查询数据通过模型

$msgs = Msg::find()->all();

//2.加载视图并传递数据

return $this->render(‘index’, [

‘msgs’ => $msgs

]);

}

}


多学一招:

Yii::$app->request->isPost

Yii::$app->request->post(键)

标签: 安装控制器模型留言板案例目录介绍视图路由
上一篇文章

DedeCMS 二次开发(一)CMS介绍、安装、目录结构、取出数据、表、表关系、标签

下一篇文章

Yaf框架 安装、PHP-ext引入、目录结构、路由、模型、视图、控制器

下一篇文章
Yaf框架 安装、PHP-ext引入、目录结构、路由、模型、视图、控制器

Yaf框架 安装、PHP-ext引入、目录结构、路由、模型、视图、控制器

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3