Yii2 的安装及简单使用
前段时间第一次使用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 的安装及简单使用的更多相关文章
- [YII2.0] 高级模板简单安装教程
YIICHINA官网教程就很完善:http://www.yiichina.com/tutorial/692 但是在yii2框架安装运行init.bat报错php.exe不是内部或外部命令, 解决办法: ...
- (转)python requests的安装与简单运用
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
- YII2 项目安装步骤及异常记录
项目环境: 操作系统:windows 7 版本管理:git 该项目我是在mac上面创建的,mac上面的环境也是一波三折啊!但我同事的环境是在windows上面,因为是前端同学,所以只好我再次操刀了.. ...
- yii2 composer安装
安装Yii2 1.安装composer 在命令行输入 curl-sS https://getcomposer.org/installer | php mv composer.phar /usr/loc ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- python requests的安装与简单运用
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
- memcache的windows下的安装和简单使用
原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...
- 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用
版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...
- Thrift的安装和简单演示样例
本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述 ...
随机推荐
- 从CVE-2018-1273看漏洞分析
漏洞分析的边界 漏洞分析最应该关注的是漏洞相关的代码,至于其余的代码可以通过关键位置下断点,来理解大概功能. 其中最关键的就是了解数据流,找到离漏洞位置最近的 原始数据 经过的位置,然后开始往下分析, ...
- ArrayMap代替HashMap
ArrayMap是一个<key,value>映射的数据结构,它设计上更多的是考虑内存的优化,内部是使用两个数组进行数据存储,一个数组记录key的hash值,另外一个数组记录Value值,它 ...
- linux 用户管理修改用户信息、密码状态、删除用户、退出登陆、切换用户
修改用户信息usermoduseradd支持的选项usermod都支持passwd有两个选项-l(在密码串前面加了两个叹号),-u,usermod有两个选项:-L 临时锁定用户(Lock)(在密码串前 ...
- 回归JavaScript基础(一)
主题:JavaScript简介. 一.JavaScript的起源 JavaScript诞生于1995年.当时,它的主要作用是处理一些输入验证操作.之前的话,都是把表单数据发送到服务器端,然后再去判断有 ...
- js获取元素显示隐藏的当前状态
js获取元素显示隐藏的当前状态 // CSS var display = $("."+cls).css("display"); if(display == &q ...
- UML建模中简单消息、同步消息和异步消息
两种消息在UML图中的表示方法如图: 1.同步方式 两个通信应用服务之间必须要进行同步,两个服务之间必须都是正常运行的.发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备. 发送程序 ...
- python下载指定的版本包
首先我们很多时候在执行pip的时候是不行的 有时候很难成功,这个时候我们就要想其他的版本了 一.是不是这个包需要指定版本, 比如python2的和mysql链接的是,而python3则是mysqlc ...
- linux下指定源下载
我们默认使用yun 安装的时候 使用的 是外国的网站进行下载的 那么下载肯定是慢的 我们可以更改为国内的站点进行下载的 比如临时更改为国内的站点进行下载 pip install -i +你的源 p ...
- UIView使用UIMotionEffect效果
UIView使用UIMotionEffect效果 这个效果在模拟器上看不了,所以无法截图. UIView+MotionEffect.h + UIView+MotionEffect.m // // ...
- [UI] 精美UI界面欣赏[4]
精美UI界面欣赏[4]