lowentry/symfony-customizable-assets-install

一个允许您自定义 assets:install 的 Symfony 扩展包:例如,可以用于将非 symfony 资产包添加到 /web/bundles。

1.0.0 2017-08-19 09:37 UTC

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() 总是以斜杠结尾,因此不需要额外的斜杠。