手把手教你入门Yii2框架-1
前言概述:
我是一名PHP开发工程师,最拿手的是版本2.0的Yii框架,在培训班里老师没教我Yii框架,只是由于我弟弟(同行)擅长Yii框架,所以我用得最多的就是Yii2.0,后台我学了ThinkPHP框架的3.2和5.0版本,虽然还算不上熟练,但是多少会用,自己分别用tp3.2和5.0做了两个具有RBAC权限验证功能(3.2是Auth)和基本的增删查改功能的网站后台。至于Yii2,这三年多来,我用它做了多个网站,例如我的个人网站。
框架之争:
很多php初学者都不知道选哪个框架来深入学习。据我所知,国内的php程序员用得最多的框架是ThinkPHP,版本以3.2和5.0为代表。目前主流的php框架有ThinkPHP、Yii、Lavavel、CI等(排名不分先后,各自的支持者们请不要打架)。我对ThinkPHP和Yii框架都有所了解,所以我多少有点发言权,我觉得还是Yii好,有众多优点是ThinkPHP无法企及的,例如有自动生成代码的gii。话虽如此,其它框架的使用者们可能不服,他们可以说出一大堆他们框架的优点。这里我不再赘述,请大家自行百度,到此为止。
必备知识:
在开始学习Yii之前,你必须掌握html、css、javaScript、jQuery、php的基本知识,理解MVC思想的基本常识,以及类、函数的调用等。
官方资料:
2.https://www.yiiframework.com
3.https://www.kancloud.cn/kancloud/programming-with-yii2
现在开始:
一 .
1.从yii官网 https://www.yiichina.com 或其它渠道下载高级版本(这里以高级版本为例)到你本地电脑的php项目根目录下,可以给下载下来的文件夹改名。
2.如果你是在你本地电脑(一般是window系统)开发这个网站,请双击根目录下的init.bat文件完成项目的初始化,在弹出的命令界面里操作,在本地就选development,线上就选production,输入代表它们的数字,按回车键,输入yes按回车就行了。这样,frontend和backend的web和config下,以及common和console的config目录下就会自动生成对应的配置文件了;如果你是把项目文件夹上传到linux系统的服务器里,
3.用phpStudy配置两个本地域名:一个前台域名指向到项目根目录下的frontend\web下,一个后台域名指向到项目根目录下的backend\web下。
4.在根目录下的common/config/main-local.php文件里配置数据库的信息,我建议配置成线上的数据库(也就是要求你要有服务器或虚拟云盘,但是代码可以不用上传到服务器里,放在本地即可),这样是方便配合版本控制(我用的是git),每次在公司电脑做好一些功能后,下班前把代码上传到码云或github等代码托管平台,不用上传修改后的数据库文件(因为我很多次都会忘记上传数据库文件,所以我建议把数据库放在线上),回到家里把代码拉下来后,就可以在家里办公,做完上传代码即可。
5.还是在根目录下的common/config/main-local.php文件里配置免费发送邮件的信息:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.qq.com', //每种邮箱的host配置不一样,这里以qq邮箱为例,其它请自行百度。
'username' => 'wangyutan1986@qq.com',
'password' => 'nrjmg******bbdgi', //授权码相当于密码,到你自己的邮箱里申请获取即可,可以不用记起来。
'port' => '465',
'encryption' => 'ssl',
],
'messageConfig'=>[
'charset'=>'UTF-8',
'from'=>['wangyutan1986@qq.com'=>'MRRS']
],
],
6.把根目录下的common/config/params.php文件里的adminEmail和supportEmail的值改为你的邮箱,例如上面的wangyutan1986@qq.com
二
1.给后台安装adminLTE,可参考:https://www.kancloud.cn/curder/yii/247760。
要安装AdminLTE v2,请用cmd调起命令行工具,运行:
composer require dmstr/yii2-adminlte-asset "^2.1"
要安装AdminLTE v1,请运行:
composer require dmstr/yii2-adminlte-asset "^1"
建议安装最新版本。
如果太慢了,可以考虑国内镜像。接下来就是坐等下载好,这个过程有时候会比较久,而且命令行工具里没有任何提示,请保持耐心别乱动它。
手把手教你入门Yii2框架-1的更多相关文章
- Android开发之手把手教你写ButterKnife框架(三)
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52672188 本文出自:[余志强的博客] 一.概述 上一篇博客讲了, ...
- Android开发之手把手教你写ButterKnife框架(二)
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52664112 本文出自:[余志强的博客] 上一篇博客Android开 ...
- 手把手教你搭建SSH框架(Eclipse版)
原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...
- 手把手教你写DI_1_DI框架有什么?
DI框架有什么? 在上一节:手把手教你写DI_0_DI是什么? 我们已经理解DI是什么 接下来我们就徒手撸一撸,玩个支持构造函数注入的DI出来 首先我们回顾一下 构造函数注入 的代码形式, 大概长这模 ...
- 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果
这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...
- Android开发之手把手教你写ButterKnife框架(一)
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52662376 本文出自:[余志强的博客] 一.概述 JakeWhar ...
- 入职第一天:前端leader手把手教我入门Vue服务器端渲染(SSR)
继前段时间西安电面之后顺利拿到了OFFER,今天(5月2号)是我入职第一天,在简短的内部培训了一上午后,前端leader让我先了解下什么是vue的服务器端渲染(SSR). SSR,英文全称叫 Serv ...
- 手把手教你整合SSM框架(基于课工厂+MyEclipse 2017 CI 10)
步骤1:myeclipse创建项目,导入spring框架 整合思路:因为spring和spring mvc同源,可以无缝整合,故先整合spring+mybatis,然后配置web.xml.spring ...
- 手把手教你入门mac idea
一.前沿 去年入职后, 公司有很多人使用的是idea , 而不是eclipse. 之前就想转向idea, 但一直没转过来~~原因是团队的人提倡用开源eclipse.现在下定决心转向idea. 虽然, ...
随机推荐
- websocket与http
偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有.所以转到我博客里,分享一下.比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗 ...
- Spring 事件(1)- 内置事件
Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...
- Banner信息收集和美杜莎使用(9.26 第十二天)
Banner信息收集 Banner信息,欢迎语,在banner信息中可以得到软件开发商.软件名称.版本.服务类型等信息,通过这些信息可以使用某些工具直接去使用相对应的exp去攻击 前提条件:需要和目标 ...
- 使用BP拦截POST型请求包 (9.20 第九天)
使用BP拦截POST型请求包 1.安装phpstudy并下载wordpress 文件,安装在phpstudy的www目录下 phpstudy下载地址:https://www.xp.cn/downloa ...
- UVA - 12230 Crossing Rivers(过河)(期望)
题意:从A到B需要经过n条河,已知AB间距离D和每条河的长度L以及在该条河上的船速v,求A到B平均情况下需多长时间.陆地行走速度为1,船的位置和朝向均匀随机. 分析: 1.过一条河,最短时间L/v(无 ...
- Fedora 32大变化:将删除Python 2及其软件包
导读 虽然Fedora 30还没有上市,Fedora 32直到大约一年后才上市,但我们已经知道一个很大的变化:删除Python 2和包依赖它.随着Fedora 32将于2020年上半年推出,超过了Py ...
- 使用node.js安装asar和反编译app.asar
背景:app.asar文件是Electron加密打包时的中间产物,electron.exe调用resources文件夹下的app.asar从而实现不用解压缩而直接读取文件内容的高效. 一.需要先安装n ...
- DW1000芯片定位技术解析
近些年来随着物联网和机器人技术的大发展,精确定位技术的热度也随之攀升.目前精确定位的技术有很多,如基于wifi.RFID.zigbee.超声波.UWB等技术都可以实现精准定位.由于技术的不同,精度也不 ...
- BZOJ:2190: [SDOI2008]仪仗队
题解:欧拉函数 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ...
- apache2+django+virtualenv 服务器部署实战
目录 基本配置 配置python环境 安装 python.pip 安装 virtualenv 配置python虚拟环境 配置 apache2 安装 apache2 安装 mod-wsgi 服务 部署d ...