入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

YII2.0配置index.php入口文件至根目录

创建时间:2015-10-12 投稿人: 浏览次数:6012

YII2.0自带的有2个项目目录一个是前台的frontend和后台的backend,访问的时候必须访问至http://localhost:8080/phpblog/backend/web/index.php?r=admin/index,这样好像很麻烦,而且难记,于是我们把访问的地址配置成http://localhost:8080/phpblog/admin.php这种的就好记很多了.

首先在backend下面找到web目录:


把里面的index.php复制到根目录并改名字为admin.php:


修改admin.php里面的内容为:

<?php
defined("YII_DEBUG") or define("YII_DEBUG", true);
defined("YII_ENV") or define("YII_ENV", "dev");

require(__DIR__ . "/vendor/autoload.php");
require(__DIR__ . "/vendor/yiisoft/yii2/Yii.php");
require(__DIR__ . "/common/config/bootstrap.php");
require(__DIR__ . "/backend/config/bootstrap.php");

#require(__DIR__ . "/common/config/autoload.php");

$config = yiihelpersArrayHelper::merge(
    require(__DIR__ . "/common/config/main.php"),
    require(__DIR__ . "/common/config/main-local.php"),
    require(__DIR__ . "/backend/config/main.php"),
    require(__DIR__ . "/backend/config/main-local.php")
);

$application = new yiiwebApplication($config);
$application->language="zh-CN";
$application->defaultRoute="admin";
$application->run();
下面进行js,css路径修改:

找到backend目录下面的assets目录下面的AppAsset.php,修改内容

class AppAsset extends AssetBundle
{
    public $basePath = "@webroot";
    public $baseUrl = "@web";
    //全局的js和css,主要是修改这里的路径,原来的@web不能使用了,要写backend的全路径了,按照下面的写就可以了
    public $css = [
        "backend/web/scripts/css/default.css",
        "backend/web/scripts/js/jquery-easyui-1.4.3/themes/icon.css",
        "backend/web/scripts/js/jquery-easyui-1.4.3/themes/easyui_icons.css",
        "backend/web/scripts/js/jquery-easyui-1.4.3/themes/default/easyui.css"
    ];
    public $js = [
        "backend/web/scripts/js/jquery-easyui-1.4.3/jquery.min.js",
        "backend/web/scripts/js/jquery-easyui-1.4.3/jquery.easyui.min.js"
    ];
    public $depends = [
        
    ];
    //定义按需加载JS方法,注意加载顺序在最后  
    public static function addScript($view, $jsfile) {  
        $view->registerJsFile($jsfile, ["depends"=>["backendassetsAppAsset"]]);  
    }  
      
   //定义按需加载css方法,注意加载顺序在最后  
    public static function addCss($view, $cssfile) {  
        $view->registerCssFile($cssfile, ["depends"=>["backendassetsAppAsset"]]);  
    }  

}
继续修改backend下面的config目录下面的main.php:

<?php
$params = array_merge(
    require(__DIR__ . "/../../common/config/params.php"),
    require(__DIR__ . "/../../common/config/params-local.php"),
    require(__DIR__ . "/params.php"),
    require(__DIR__ . "/params-local.php")
);
 
return [
    "id" => "app-backend",
    "basePath" => dirname(__DIR__),
    "bootstrap" => ["log"],
    "controllerNamespace" => "backendcontrollers",
    "components" => [
        //添加了这个配置
        "assetManager" => [
            "basePath" => "@webroot/backend/web/assets",
            "baseUrl" => "@web/backend/web/assets"
        ],
        "user" => [
            "identityClass" => "commonmodelsUser",
            "enableAutoLogin" => true,
        ],
        "log" => [
            "traceLevel" => YII_DEBUG ? 3 : 0,
            "targets" => [
                [
                    "class" => "yiilogFileTarget",
                    "levels" => ["error", "warning"],
                ],
            ],
        ],
        "errorHandler" => [
            "errorAction" => "site/error",
        ],
    ],
    "params" => $params,
];
控制器一定要和配置的defaultRoute默认路由对应,我们配置的是admin,那么就要有对应的AdminController.php,里面的方法必须为actionIndex,这样访问的时候就可以直接运行里面的view了:




运行效果:


希望可以帮助到大家。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。