Php “我可以换吗?”;公共目录“;在composer.json中,是否安全地转到symfony中公共目录的子文件夹?

Php “我可以换吗?”;公共目录“;在composer.json中,是否安全地转到symfony中公共目录的子文件夹?,php,symfony,assets,Php,Symfony,Assets,主要目的是: 1) 在twig模板中,使用简单的代码asset('img/some.jpg')而不使用第二个参数,返回路径为web/dir1/dir2/img/some.jpg 2) 当我们在控制台中运行asset:install而不带参数时,它将所有捆绑资产存储到web/dir1/dir2/ 我们所有的资产都存储在一个嵌套级别很高的目录中(wordpress的子主题)。 我们不想在细枝模板中的asset()参数中写入整个路径 例如,图像存储在web/dir1/die2/img/ 我们需要编写a

主要目的是:

1) 在twig模板中,使用简单的代码
asset('img/some.jpg')
而不使用第二个参数,返回路径为
web/dir1/dir2/img/some.jpg

2) 当我们在控制台中运行
asset:install
而不带参数时,它将所有捆绑资产存储到
web/dir1/dir2/

我们所有的资产都存储在一个嵌套级别很高的目录中(wordpress的子主题)。 我们不想在细枝模板中的asset()参数中写入整个路径

例如,图像存储在
web/dir1/die2/img/
我们需要编写
asset(img/some.jpg)
,而不需要处理第二个参数

文档中说,我们可以在config.yml中指向包含资产的目录:

assets:
    base_path: ‘web/dir1/dir2/img’
但它破坏了第三方捆绑包,因为当我们在控制台中运行
assets:install
时,它只是将捆绑包的所有资产复制(或链接)到真正的公共目录中。但是捆绑包在asset()函数中使用相同的基本路径,指向
web/dir1/dir2/

资产:安装可以使用公共目录作为参数。如果是ommited,则该命令从composer.json获取
public dir

所以我们要设置参数
public dir

这似乎很奇怪:我认为这是主要的公共目录参数,它不能指向任何地方,除了web/(在我的例子中)

我试图在github中找到任何东西:这些更改将破坏bundle WebServerBundle,我们不使用也不打算使用它。这是不够的,而且我找不到其他不这样做的理由

这是一种不好的做法还是正常的做法? 它能破解任何捆绑包中的一些代码吗


我想知道任何意见:这可能是问题的原因,或者我不应该为此担心?

你看到了吗?是的,我看到了。但是在bundle中使用这个参数是没有任何问题的。如果bundle使用
asset(img/some.jpg)
,那么公共目录就没有问题了。我们只想在public dir中将这个参数更改为subdir。这是我们的工作。只有一点感觉我们做错了什么。这个参数似乎只影响控制台命令asset:install和web服务器包。如果是这样的话,我会很高兴。我能想到的唯一问题是,如果捆绑包使用$this->get('kernel')->getProjectDir()/“public/”就会失败……你看到了吗?是的,我看到了。但是在bundle中使用这个参数是没有任何问题的。如果bundle使用
asset(img/some.jpg)
,那么公共目录就没有问题了。我们只想在public dir中将这个参数更改为subdir。这是我们的工作。只有一点感觉我们做错了什么。这个参数似乎只影响控制台命令asset:install和web服务器包。如果是这样的话,我会很高兴。我能想到的唯一问题是,如果捆绑包使用$this->get('kernel')->getProjectDir()/“public/”将失败。。。