yii2基础技能点收集

    xiaoxiao2021-03-25  76

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

    启动Yii2高级应用程序项目

    1、下载《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.php 中return[...] 插入'language' => 'zh-CN',2、在main.php 中的component关键字中加入如下(i18n 和 urlManager、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'),

    转载请注明原文地址: https://ju.6miu.com/read-39193.html

    最新回复(0)