在Yii 2中重新组织应用程序文件

在Yii 2中重新组织应用程序文件,yii,yii2,organization,application-structure,Yii,Yii2,Organization,Application Structure,我已经建立了新的Yii2项目。现在,我想在两个文件夹中添加“public”和“app”(它实际上代表受保护的文件) 框架中的所有代码都放在“app”文件夹中。在“public”文件夹中,我只有一个名为“index.php”的脚本,我正在调用这个应用程序。那里的代码如下所示(我只修改了原始“index.php”中的路径) app/index.php <?php // comment out the following two lines when deployed to productio

我已经建立了新的Yii2项目。现在,我想在两个文件夹中添加“public”和“app”(它实际上代表受保护的文件)

框架中的所有代码都放在“app”文件夹中。在“public”文件夹中,我只有一个名为“index.php”的脚本,我正在调用这个应用程序。那里的代码如下所示(我只修改了原始“index.php”中的路径)

app/index.php

<?php

// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/../app/vendor/autoload.php');
require(__DIR__ . '/../app/vendor/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/../app/config/web.php');

(new yii\web\Application($config))->run();

?>

我不再在屏幕上看到错误,但是现在加载的内容没有任何CSS样式和JS文件(他们仍然从错误的位置提取URL)。

如果要更改资产目录,需要在配置文件
web.php
上配置AssetManager组件:

'components' => [
    ...
    'assetManager' => [
        'basePath' => 'my/path/to/assets',
    ],
    ...
],

我找到了解决办法。在“public”文件夹中,我将完整的“web”文件夹从“protected”文件夹(实际上所有资产和脚本都位于该文件夹中)移到了“public”文件夹中,而不仅仅是“index.php”脚本。

好的,我现在有了进展。。我不再收到错误,但现在资产和css没有加载。。我是否应该添加一些关于它们的其他内容?请参见:和问题:
'components' => [
    ...
    'assetManager' => [
        'basePath' => 'my/path/to/assets',
    ],
    ...
],