yii2基础技能点收集

  • 一、启动Yii2高级应用程序项目
  • 二、美化路由
  • 三、省略掉index.php的方法
  • 四、修改yii2默认控制器
  • 五、语言包的配置
启动Yii2高级应用程序项目

基础版只有一个只有一个web应用,高级版则生成前后台。建议使用高级版

  • 2、mac下双击项目目录下的init
美化路由

【方案】在config/web.php 文件的components关键字中添加如下

    'urlManager' => [
       'enablePrettyUrl' => true,
       'showScriptName' => false,
       // 'suffix' => '.html', // 启动后缀
       // 'rules' => [
       // ],
    ],

原先 ...?r=site/about => .../site/about

yii2 省略掉index.php的方法

【方案】在入口文件(index.php)同级目录下(一般web目录下)新建.htaccess文件, 内容如下

# 用于去掉index.php

RewriteEngine on

# 如果是一个目录或者文件,就直接访问目录或文件
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# otherwise forward it to index.php
RewriteRule . index.php

原先 http://localhost/basic/web/index.php?site/about => http://localhost/basic/web/site/about

修改yii2默认控制器

【方案】在./config/web.php配置文件中的$conifg=[] 里添加了一行代码

'defaultRoute' => 'index', // 默认index控制器

添加后,实际效果是覆盖了框架自带的在./vendor/yiisoft/yii2/web/Application.php的第28行找到了:public $defaultRoute = ‘site’; 默认的site控制器

语言包的配置
  • 1、在./frontend/config/main.phpreturn[...] 插入'language' => 'zh-CN',
  • 2、在main.php 中的component关键字中加入如下(i18nurlManager、request等同级)
    'i18n' => [
        'translations' => [
                '*' => [
                    // 引入语言包的配置类
                    'class' => 'yii\i18n\PhpMessageSource',
                    // 指向语言包的文件目录
                    'basePath' => '/messages',
                    // 语言包的指向文件
                    'fileMap' => [
                        'translate' => 'common.php',
                    ],
              ]
          ],
      ],
  • 3、frontend 目录下新建文件夹messages,再建zh-CN 中文翻译包文件夹下common.php。即新建./frontend/messages/zh-CN/common.php
// common.php中对应字段翻译
<?php
    return[
           'Blog' => '博客',
    ];
  • 4、使用语言包 ./frontend/views/layouts/main.php 中将 'brandLabel' => 'My Company', 改成
    'brandLabel' => Yii::t('translate','Blog'),

  • 44、或者使用存在的yii默认语言包 Yii::t('yii', 'Home'),

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值