Yii2 的安装及简单使用
2019-04-25 06:56:37来源:博客园 阅读 ()
前段时间第一次使用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请求了。
原文链接:https://www.cnblogs.com/woods1815/p/10745484.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:PHP全栈学习笔记8
- PHP简单留言本功能实现代码 2020-03-13
- PHP调用JAVA的WebService简单实例 2020-03-02
- PHP简单实现二维数组赋值与遍历功能示例 2020-02-19
- PHP 进度条函数的简单实例 2020-02-15
- 简单实现php上传文件功能 2020-02-15
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash