前段时间第一次使用Yii2框架,碰到了一些问题,这里记录一下。

Yii2安装:通过composer安装

1、首先要安装composer,我在另外一篇博客中介绍了如何在Windows下安装composer

2、全局设置 Composer 使用中国镜像:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

3、安装composer-asset-plugin(如果不安装composer-asset-plugin后面安装yii2时会出现问题,这里默认安装最新版)

composer global require "fxp/composer-asset-plugin"

4、(1)安装基础版,projectName是自己的项目名。

composer create-project --prefer-dist yiisoft/yii2-app-basic projectName

(2)安装高级版。(高级版区分了前后台目录backend,frontend)

composer create-project --prefer-dist yiisoft/yii2-app-advanced projectName

:高级版安装后需要初始化,双击根目录下的"init.bat"文件,选择"0"(表示开发环境),之后选择"yes"就可以了,会自动生成入口文件。

5、配置域名信息就可以访问了。(高级版需要分别配置前后台域名)

可能出现的问题:

安装下来后可能会出现的问题:找不到vendor文件夹。

原因:composer-asset-plugin没有安装或者版本太低

解决办法:找到文件的根目录,即composer.json文件目录,打开命令行执行:composer update

Yii 2的简单使用:

1、路由优化

找到 /frontend/config/main.php 文件,找到以下代码,去掉注释,运行后发现可以去掉"?r="使用"/"代替,但是还是不能去掉index.php。

'urlManager' => [
'enablePrettyUrl' => true, // 美化url去掉 ?r=
'showScriptName' => false, // 隐藏index.php
'rules' => [
],
],

要去掉index.php,还需要在入口文件下添加.htaccess文件,文件内容如下:

# use mod_rewrite for pretty URL support
RewriteEngine on
# if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward the request to index.php
RewriteRule . index.php

:这个需要前后端都配置一遍。

2、驼峰命名路径访问

在yii2中如果使用驼峰命名,则默认使用"-",如要访问UserAdminController控制器下的actionTestUser方法,则访问路径为:/user-admin/test-user

3、使用post方法访问

在Yii2中如果不做处理,使用post访问会报错。这是因为Yii2使用post请求时默认会使用CSRF验证。

这里可以在表单中加入验证或者后台可以取消掉CSRF验证。

方法一:在表单中加入验证:(如果能使用这种方法最好)

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>" />

方法二:全局配置,在配置文件中加入 'enableCsrfValidation' => false

在config文件夹下找到"components"配置下的"request"配置,在里面加入'enableCsrfValidation' => false表示取消掉CSRF验证。

方法三:局部配置,在单个控制器下配置

可以在单个控制器下添加代码:

public $enableCsrfValidation = false;

这样在这个控制器下的方法就可以使用post请求了。

Yii2 的安装及简单使用的更多相关文章

  1. [YII2.0] 高级模板简单安装教程

    YIICHINA官网教程就很完善:http://www.yiichina.com/tutorial/692 但是在yii2框架安装运行init.bat报错php.exe不是内部或外部命令, 解决办法: ...

  2. (转)python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  3. YII2 项目安装步骤及异常记录

    项目环境: 操作系统:windows 7 版本管理:git 该项目我是在mac上面创建的,mac上面的环境也是一波三折啊!但我同事的环境是在windows上面,因为是前端同学,所以只好我再次操刀了.. ...

  4. yii2 composer安装

    安装Yii2 1.安装composer 在命令行输入 curl-sS https://getcomposer.org/installer | php mv composer.phar /usr/loc ...

  5. MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)

    一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...

  6. python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  7. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

  8. 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用

    版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...

  9. Thrift的安装和简单演示样例

    本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述                                           ...

随机推荐

  1. 云数据库Redis版256M双机热备款

    云数据库Redis版是兼容Redis协议标准的.提供持久化的缓存式数据库服务,基于高可靠双机热备架构:全新推出的256M小规格款,适用于高QPS.小数据量业务,并支持免费全量迁移,完美服务于个人开发者 ...

  2. vmware虚拟机挂载Windows磁盘的两种方法

    第一种 vmware虚拟机通过ntfs-3g挂接windows盘 1.共享windows盘虚拟机设置——>添加硬盘——>选择IDE——>使用物理磁盘——>选择本地盘(单分区)— ...

  3. Sql Server数据库备份脚本以及如何在阿里云云数据库RDS还原数据库(代码源自阿里云)

    今天研究阿里云服务数据库的迁移,备份和还原的时候,在阿里云web后台发现了一个很好用的sql脚本,就默默地偷了过来,它可以支持全量备份,差异备份和日志备份,代码解释也都很清楚,我也尝试着跑了一下,性能 ...

  4. jQuery1.7版本之后的on方法

    之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于 live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动 ...

  5. 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入

    一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...

  6. Call to undefined function mysqli_connect() in xx.连接数据库出现mysqli_connect()未定义的问题。

    这个是我在执行php代码的时候出现的一个错误,我在网上查了好久,也按照网上常用的方法去修改,都没有效果. 例如:1.新建一个php文件: <?php print phpinfo(); ?> ...

  7. iis里URL重写重定向,http做301重定向https

    上一篇文章写了iis和apache共用80端口,IIS代理转发apache. 因为第一次配置,这中间还是碰到了很多问题.这里记录下来,希望以后能避免错误. 使用Application Request ...

  8. PHP设计模式系列 - 观察者模式

    观察者模式 观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性.观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码 ...

  9. 【python库安装问题解决】UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 121: invalid start byte

    好久没用python了...今天随便pip安装个库突然报错: Exception:‘’ (most recent call last):  File "C:\ProgramData\Anac ...

  10. linux下如何实现mysql数据库每天自动备份定时备份

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢.   目录(?)[+]   概述   备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数 ...