定制 jbsnewmedia/asset-composer-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jbsnewmedia/asset-composer-bundle

最新稳定版本:1.1.6

Composer 安装命令:

composer require jbsnewmedia/asset-composer-bundle

包简介

A Symfony bundle to help you manage your assets

README 文档

README

AssetComposerBundle is a Symfony bundle that helps you manage and serve assets directly from the vendor directory. It ensures all files are kept up-to-date by leveraging file modification timestamps for cache busting.

🚀 Features

  • Manage CSS/JS assets via Composer packages
  • Automatic versioning using file timestamps
  • Simple integration with Twig templates
  • Supports production/dev-only assets via assetcomposer.json
  • Symfony 6 & 7 compatible

⚙️ Requirements

  • PHP 8.1 or higher
  • Symfony Framework 6.4 or 7.0

📦 Installation

Use Composer to install the bundle:

composer require jbsnewmedia/asset-composer-bundle

📋 Usage

1. Install Asset Packages via Composer

composer require twbs/bootstrap
composer require components/font-awesome
composer require avalynx/avalynx-alert

2. Register Assets in Twig Templates

{% do addAssetComposer('twbs/bootstrap/dist/css/bootstrap.css') %}
{% do addAssetComposer('components/font-awesome/css/all.css') %}
{% do addAssetComposer('avalynx/avalynx-alert/dist/css/avalynx-alert.css') %}
{% do addAssetComposer('avalynx/avalynx-alert/dist/js/avalynx-alert.js') %}

3. Render in Layout

<!DOCTYPE html>
<html>
<head>
    {% block stylesheets %}
        {{ renderAssetComposerStylesheets() }}
    {% endblock %}
</head>
<body>
    {% block body %}{% endblock %}
    
    {% block javascripts %}
        {{ renderAssetComposerJavascripts() }}
    {% endblock %}
    
    {{ renderAssetComposerJavascripts('bottom') }}
</body>
</html>

📁 File Structure

config/
├── routes.yaml
├── services.yaml
src/
├── Controller/
│   └── AssetComposerController.php
├── DependencyInjection/
│   ├── AssetComposerExtension.php
│   └── Configuration.php
├── Service/
│   └── AssetComposer.php
├── Twig/
│   └── AssetComposerExtension.php
├── AssetComposerBundle.php

🧰 Configuration (Optional)

You can create an assetcomposer.json file in your asset packages to define which files should be exposed:

{
  "name": "library-name",
  "files": [
    "dist/css/styles.css",
    "dist/js/scripts.js"
  ],
  "files-dev": [
    "src/css/dev-styles.css",
    "src/js/dev-scripts.js"
  ]
}

🔧 Development Tools

To maintain code quality, this project uses:

  • PHP-CS-Fixer: composer bin-ecs
  • PHPStan: composer bin-phpstan
  • Rector: composer bin-rector

Install and update tools using:

composer bin ecs install
composer bin phpstan install
composer bin rector install

🧪 Testing & QA

All code adheres to modern PHP standards. Use the provided scripts to analyze and refactor the codebase:

composer bin-phpstan       # Static analysis
composer bin-ecs           # Coding standards
composer bin-rector        # Code transformation

📜 License

This bundle is licensed under the MIT license. See the LICENSE file for more details.

Developed by Juergen Schwind and other contributors.

🤝 Contributing

Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request with your changes or improvements. We're looking for contributions in the following areas:

  • Bug fixes
  • Feature enhancements
  • Documentation improvements

Before submitting your pull request, please ensure your changes are well-documented and follow the existing coding style of the project.

📫 Contact

If you have any questions, feature requests, or issues, please open an issue on our GitHub repository or submit a pull request.

Always up-to-date. Simple. Composer-native asset management.

统计信息

  • 总下载量: 139
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-08-03