YII2.0配置index.php入口文件至根目录
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。
- 上一篇: PHP源码阅读 Day.1,源码目录结构分析
- 下一篇: vue 全局事件(eventBus)设置
