前言概述:

我是一名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思想的基本常识,以及类、函数的调用等。

官方资料:

1.https://www.yiichina.com

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的更多相关文章

  1. Android开发之手把手教你写ButterKnife框架(三)

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52672188 本文出自:[余志强的博客] 一.概述 上一篇博客讲了, ...

  2. Android开发之手把手教你写ButterKnife框架(二)

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52664112 本文出自:[余志强的博客] 上一篇博客Android开 ...

  3. 手把手教你搭建SSH框架(Eclipse版)

    原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...

  4. 手把手教你写DI_1_DI框架有什么?

    DI框架有什么? 在上一节:手把手教你写DI_0_DI是什么? 我们已经理解DI是什么 接下来我们就徒手撸一撸,玩个支持构造函数注入的DI出来 首先我们回顾一下 构造函数注入 的代码形式, 大概长这模 ...

  5. 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果

    这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...

  6. Android开发之手把手教你写ButterKnife框架(一)

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52662376 本文出自:[余志强的博客] 一.概述 JakeWhar ...

  7. 入职第一天:前端leader手把手教我入门Vue服务器端渲染(SSR)

    继前段时间西安电面之后顺利拿到了OFFER,今天(5月2号)是我入职第一天,在简短的内部培训了一上午后,前端leader让我先了解下什么是vue的服务器端渲染(SSR). SSR,英文全称叫 Serv ...

  8. 手把手教你整合SSM框架(基于课工厂+MyEclipse 2017 CI 10)

    步骤1:myeclipse创建项目,导入spring框架 整合思路:因为spring和spring mvc同源,可以无缝整合,故先整合spring+mybatis,然后配置web.xml.spring ...

  9. 手把手教你入门mac idea

    一.前沿 去年入职后, 公司有很多人使用的是idea , 而不是eclipse. 之前就想转向idea, 但一直没转过来~~原因是团队的人提倡用开源eclipse.现在下定决心转向idea. 虽然, ...

随机推荐

  1. Linux下的文件目录树结构

    Linux下的文件目录及文件结构 一.文件和文件夹 在Linux系统下,一切皆是文件.就连Linux本身也是基于文件表示的操作系统. 1.文件:文件在Linux系统之下,一般分为两种:一是一般性文件, ...

  2. ExcelPackage导入导出,命名空间一定要是EPPlus

    1.引入EPPlus.dll,旧版的是OfficeOpenXml.dll,最好使用EPPlus2.调用 string path = UploadExecl(batchUpload.BinaryExce ...

  3. 对plotTree的解释

    1.>>>a = 1/2/2   >>>a >>>0.25 2.def plotMidText(cntrPt,parentPt,txtString ...

  4. 浅谈Python之sys.argv

    (1)sys.argv是什么 sys模块为进入解释器维护或使用的变量,以及与解释器相关的函数提供了途径.sys.argv在脚本程序中扮演了这样一个角色:将命令行输入的参数作为一个list传入脚本程序, ...

  5. Django 数据库配置

    DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你的数据库名称 'USER': ' ...

  6. Codeforces Round #616 (Div. 2)

    地址:http://codeforces.com/contest/1291 A题就不写解析了,就是给一个数,是不是本身满足这个条件或者删除某些数字来达到这个条件:奇数,各个位上的数字加起来是偶数. # ...

  7. POJ 3994:Probability One

    Probability One Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1674   Accepted: 1151 D ...

  8. Kubernetes-基于helm安装部署高可用的Redis及其形态探索(二)

    上一章,我们通过实践和其他文章的帮助,在k8s的环境安装了redis-ha,并且对其进行了一些实验来验证他的主从切换是否有效.本篇中将会分析,究竟是如何实现了redis-ha的主从切换,以及其与K8S ...

  9. MVC学生管理系统-阶段V(模糊查询)

    项目源码 :https://download.csdn.net/download/weixin_44718300/11091042 此处省略一段话.去上一篇查看 NO01:修改list.jsp < ...

  10. 吴裕雄--天生自然C++语言学习笔记:C++ 修饰符类型

    C++ 允许在 char.int 和 double 数据类型前放置修饰符.修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求. 下面列出了数据类型修饰符: signed unsigned lo ...