yii2.0-advanced 高级版项目搭建(二) [基础教程]

作者:上班偷偷打酱油 发布于:2015-10-17 浏览:35868次 收藏

上一篇:yii2.0-advanced 高级版项目搭建(一)


视频教程:Yii2.0高级版项目搭建(二)


通过上一篇教程的学习,我们已经初步搭建好了yii2.0高级版的项目,接下来就要看下如何配置一些基础的配置

数据库配置:

在本地新建一个数据库 demo

sql.png

上篇教程中提到有common backend frontend三个文件夹,这里要说一下environments这个文件夹,顾名思义,environments就是环境配置(dev:开发环境 prod:生产环境),对于高级版的environments详细配置,我会在另外一篇教程中详细说明。

好了,回到正题,打开/environments/dev/common/config/main-local.php 修改数据库配置

    'components' => [
    ...
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=demo',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
    ...
    ],

注:username 和 password 填入对应数据库账号密码

执行init或在安装目录中运行init.bat,选择 0 开发模式进行安装(init运行失败请查看yii2.0-advanced 高级版项目搭建(一)项目搭建6)


创建user用户表

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `username` varchar(255) NOT NULL COMMENT '用户名',
  `auth_key` varchar(32) NOT NULL COMMENT '自动登录key',
  `password_hash` varchar(255) NOT NULL COMMENT '加密密码',
  `password_reset_token` varchar(255) DEFAULT NULL COMMENT '重置密码token',
  `email` varchar(255) NOT NULL COMMENT '邮箱',
  `role` smallint(6) NOT NULL DEFAULT '10' COMMENT '角色等级',
  `status` smallint(6) NOT NULL DEFAULT '10' COMMENT '状态',
  `created_at` int(11) NOT NULL COMMENT '创建时间',
  `updated_at` int(11) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户表';

好了,数据库配置基本完成了,那么现在来验证一下。

访问 http://www.demo.com 点击右上角sign up 注册一个账户,进行登录,成功登录后会在右上角显示用户名

login.png




语言包配置:

为了代码更加规范,配置一个项目语言包是必不可少的事,那么下面我们就开始来给我们的网站配置中文包


语言包的配置可以根据开发需求,前台(frontend)和后台(backend)分开配置

第一步:

创建目录(frontend为例),如下图在/frontend/messages/zh-CN(这里的“CN”最好大写,Windows无影响,linux区分大小写),创建两个语言包文件 common.php和power.php

messages.png

第二步:添加语言包配置/frontend/config/main.php

return [
    'language'=>'zh-CN',               //这个配置别漏了,选择中文语言包
      
      ...
               
     'components' => [
        
        ...
              
        'i18n' => [
            'translations' => [
                'common' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    //'basePath' => '/messages',
                    'fileMap' => [
                        'common' => 'common.php',
                    ],
                ],
                'power' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    //'basePath' => '/messages',
                    'fileMap' => [
                        'power' => 'power.php',
                    ],
                ],
            ],
        ],
      ]
]

添加language和i18n配置

那么好了,语言包的配置基本是完成了,接下来我们验证一下

在common.php中添加数据,格式如下

peizhi.png

输出:在/frontend/views/layouts/main.php 把网站名My Company改成Yii::t('common','Yii China');

main.png

打开首页查看效果

index.png


下一篇:yii2.0-advanced 高级版项目搭建(三)

如果文章对您有所帮助,希望继续支持我们,您的支持是我们最大的动力 ¥打赏
标签: 语言包
声明:文章内容由作者原创或整理,未经允许,不得转载!
  • 评论于 2017-08-03 00:04:14

    语言包配置 出现的错误提示:

    Invalid Call – yii\base\InvalidCallException

    Setting read-only property: yii\web\Application::i18n


    回复
  • 评论于 2017-04-13 18:51:27

    这里的数据库配置不是/environments/dev/common/config/main-local.php,而是/common/config/main-local.php
    这个吧。

    回复
  • 评论于 2017-04-10 18:47:58

    楼主棒棒的

    回复
  • 评论于 2017-04-01 13:36:22

    Database Exception – yii\db\Exception

    SQLSTATE[HY000] [1049] Unknown database '123'

    Caused by: PDOException

    SQLSTATE[HY000] [1049] Unknown database '123'

    in F:\Web\advanced\vendor\yiisoft\yii2\db\Connection.php at line 602

      出现这个错不是没有改数据库  而是 这个需要更改common下的main-local.php 数据库配置文件

    而/environments/dev/common/config/main-local.php 可配置也可不配置

    回复
  • 评论于 2017-03-15 13:19:54

    Database Exception – yii\db\Exception

    SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

    Caused by: PDOException

    SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

    in F:\phpstudy\WWW\quicktour\vendor\yiisoft\yii2\db\Connection.php at line 630


    回复于 2017-07-03 00:06:54 回复
    我也是这个错误,后来发现犯了个低级错误,改错文件了.
    回复
  • 评论于 2016-09-02 18:19:22

    楼主写的很详细,谢谢啦

    回复
  • 评论于 2016-06-18 10:38:47

    但是,有个问题,用户如何切换语言呢?

    回复
  • 评论于 2016-06-18 00:15:40

    已成功!感谢!

    回复
  • 评论于 2016-06-08 13:47:17

    Yii :: t()后面的两个属性能详细讲一下吗,怎么页面全部替换?

    回复
  • 评论于 2016-05-10 10:52:12

    配置数据库的时候,开发环境不起作用,只能配置common里面的 ,为什么啊

    回复
您需要登录后才可以评论。登录 | 立即注册