lowentry / symfony-customizable-assets-install
一个允许您自定义 assets:install 的 Symfony 扩展包:例如,可以用于将非 symfony 资产包添加到 /web/bundles。
1.0.0
2017-08-19 09:37 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-06 09:42:34 UTC
README
此扩展包允许您在 assets:install 期间创建自己的符号链接/硬链接/复制。
当使用不是专门为 Symfony 制作的 composer 包时,这可能非常有用。
安装/使用
执行
composer require lowentry/symfony-customizable-assets-install
在您的 app/AppKernel.php 中添加扩展包
$bundles = [
...
new LowEntryCustomizableAssetsInstallBundle\LowEntryCustomizableAssetsInstallBundle()
];
在 src/AppBundle/EventListener 中创建事件监听器
<?php
namespace AppBundle\EventListener;
class CustomizableAssetsInstallListener
{
public function listen(\LowEntryCustomizableAssetsInstallBundle\Event\CustomizableAssetsInstallEvent $event)
{
// example:
$event->makeLink($event->getVendorDir() . 'almasaeed2010/adminlte/', $event->getBundlesWebDir() . 'adminlte');
}
}
在您的 app/config/services.yml 中添加事件监听器
lowentry_customizable_assets_install_listener:
class: AppBundle\EventListener\CustomizableAssetsInstallListener
tags:
- { name: kernel.event_listener, event: lowentry.customizable_assets_install, method: listen }
完成!
现在您应该在事件监听器中能够添加自定义链接(符号链接/硬链接/复制)。
注意事项
请注意,此扩展包是为 Symfony 3.1 制作的。它可能在其他版本的 Symfony 上也能工作,但这不能保证。
另外请注意,您可能不应该在 $event->getSomeDir() 之后立即使用正斜杠("/" 或 "\"),因为如果 getSomeDir() 函数返回空字符串,那么在 Mac 和 Linux 上,斜杠将导致它从根目录开始(例如:"/something"),而没有斜杠则将是一个相对路径。$event->getSomeDir() 总是以斜杠结尾,因此不需要额外的斜杠。