手把手教你入门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. 虽然, ...
随机推荐
- C语言里面和时间有关的函数
参考链接 https://blog.csdn.net/ffcjjhv/article/details/83376767 0)Head file #include "time.h" ...
- 3 —— node —— 文件追加内容
思想 : 先读取 , 再追加 const fs = require('fs') fs.readFile("./hello.txt","utf-8",(err,d ...
- Arduino 的读串口与写串口
//准备一下 while(Serial.available()>0) WifiSerial.write(Serial.read()); wh ...
- Day4-T1
原题目 Hades 与 Dionysus 在狂饮后玩起了多米诺骨牌的小游戏. 现在桌上有 N 块多米诺骨牌,每块多米诺骨牌上半部分和下半部分上都有一个整数.每次翻转可让 一块多米诺骨牌上下翻转,即上下 ...
- 【转】在C#中?,?:和??
符号:?名称:可空类型修饰符.引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型 ...
- rsync错误
rsync error:No route to host rsync服务端开启的iptables防火墙 [root@nfs01 tmp]# rsync -avz /etc/hosts rsync_ba ...
- Atom :奥特曼的使用
最近在使用atom的编译器,很不爽,什么快捷键,还有识别vue的页面,还有注释这种快捷下载下来的都没有 必须到setting里面的install里下载,我能大声的说我很不爽吗............ ...
- bash 内嵌命令 printf 用于进制转换
printf - 格式化并显示数据 printf "%d" 0x10 printf "%x" 16
- js实现鼠标单击或者双击事件
// timer为全局变量 getClickEmail1(_type) { clearTimeout(this.timer); if (_type == 1) { if (event.detail = ...
- Android之Intent相关知识
什么是Intent?Intent的作用? Intent是一个消息传递对象,我们可以通过它来启动其他组件或者在组件之间传递数据. 通过Intent启动其他组件 Intent可以用来启动Activity, ...