手把手教你入门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. 虽然, ...
随机推荐
- Linux下的文件目录树结构
Linux下的文件目录及文件结构 一.文件和文件夹 在Linux系统下,一切皆是文件.就连Linux本身也是基于文件表示的操作系统. 1.文件:文件在Linux系统之下,一般分为两种:一是一般性文件, ...
- ExcelPackage导入导出,命名空间一定要是EPPlus
1.引入EPPlus.dll,旧版的是OfficeOpenXml.dll,最好使用EPPlus2.调用 string path = UploadExecl(batchUpload.BinaryExce ...
- 对plotTree的解释
1.>>>a = 1/2/2 >>>a >>>0.25 2.def plotMidText(cntrPt,parentPt,txtString ...
- 浅谈Python之sys.argv
(1)sys.argv是什么 sys模块为进入解释器维护或使用的变量,以及与解释器相关的函数提供了途径.sys.argv在脚本程序中扮演了这样一个角色:将命令行输入的参数作为一个list传入脚本程序, ...
- Django 数据库配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你的数据库名称 'USER': ' ...
- Codeforces Round #616 (Div. 2)
地址:http://codeforces.com/contest/1291 A题就不写解析了,就是给一个数,是不是本身满足这个条件或者删除某些数字来达到这个条件:奇数,各个位上的数字加起来是偶数. # ...
- POJ 3994:Probability One
Probability One Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1674 Accepted: 1151 D ...
- Kubernetes-基于helm安装部署高可用的Redis及其形态探索(二)
上一章,我们通过实践和其他文章的帮助,在k8s的环境安装了redis-ha,并且对其进行了一些实验来验证他的主从切换是否有效.本篇中将会分析,究竟是如何实现了redis-ha的主从切换,以及其与K8S ...
- MVC学生管理系统-阶段V(模糊查询)
项目源码 :https://download.csdn.net/download/weixin_44718300/11091042 此处省略一段话.去上一篇查看 NO01:修改list.jsp < ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 修饰符类型
C++ 允许在 char.int 和 double 数据类型前放置修饰符.修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求. 下面列出了数据类型修饰符: signed unsigned lo ...