PHP code example of constructionsincongrues / asset-gatherer

1. Go to this page and download the library: Download constructionsincongrues/asset-gatherer library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

constructionsincongrues / asset-gatherer example snippets


use AssetGatherer\AssetGatherer;
use Nyholm\Psr7\ServerRequest;

// Définissez un répertoire de base pour les fichiers d'assets
$baseDirectory = '/var/www/assets';
$assetGatherer = new AssetGatherer($baseDirectory);
$assetGatherer->loadConfiguration('config/bundles.yaml');

// Créez une requête HTTP PSR-7
$request = new ServerRequest('GET', '/homepage', [
    'User-Agent' => 'Chrome',
    'Accept' => 'text/html'
]);

// Collectez les ressources en fonction de la requête
$assetGatherer->gatherAssetsForRequest($request);

// Récupérez et affichez les ressources collectées
$assets = $assetGatherer->getAssets();
print_r($assets);

use Nyholm\Psr7\ServerRequest;

$request = new ServerRequest('GET', '/homepage', [
    'User-Agent' => 'Chrome',
    'Accept' => 'text/html'
]);
mermaid
C4Context
    title System Context Diagram for AssetGatherer

    Person(dev, "Développeur", "Un développeur utilisant le package pour gérer des ressources conditionnelles dans une application PHP")

    System_Boundary(assetGatherer, "Package AssetGatherer") {
        Component(assetGathererCore, "AssetGatherer", "Library", "Un package PHP qui permet de collecter des ressources conditionnelles basées sur des règles de requête HTTP")
    }

    System(api, "API HTTP", "API externe", "Reçoit les requêtes HTTP et fournit des informations pour la collecte des ressources")

    Rel(dev, assetGathererCore, "Utilise", "Définit les règles de configuration et interagit avec le package")
    Rel(assetGathererCore, api, "Extrait les informations de requête", "Utilise les paramètres de requête HTTP pour filtrer les ressources")

    UpdateElementStyle(dev, $fontColor="black", $bgColor="#ffcc00")
    UpdateElementStyle(assetGathererCore, $fontColor="black", $bgColor="#6fa8dc")
    UpdateElementStyle(api, $fontColor="black", $bgColor="#93c47d")
mermaid
C4Container
    title Container Diagram for AssetGatherer

    Person(dev, "Développeur", "Configure le package et définit les règles")

    System_Boundary(app, "Application PHP") {
        Container(appCode, "Code de l'Application", "PHP", "Application utilisant le package AssetGatherer pour collecter des ressources conditionnelles")
        Container(assetGathererLib, "AssetGatherer", "Library", "Package PHP pour la collecte de ressources conditionnelles")
    }

    Container(configFile, "Configuration YAML", "Fichier", "Fichier de configuration des règles de collection de ressources")

    Rel(dev, configFile, "Définit")
    Rel(appCode, assetGathererLib, "Intègre et utilise")
    Rel(assetGathererLib, configFile, "Charge et utilise")
mermaid
C4Component
    title Component Diagram for AssetGatherer

    Container_Boundary(assetGathererLib, "AssetGatherer") {
        Component(configLoader, "Configuration Loader", "PHP", "Charge et analyse le fichier de configuration YAML")
        Component(ruleEngine, "Rule Engine", "PHP", "Évalue les règles de collecte basées sur la requête")
        Component(assetCollector, "Asset Collector", "PHP", "Collecte les ressources en fonction des règles évaluées")
    }

    Container(configFile, "Configuration YAML", "Fichier", "Fichier de configuration des règles de collection de ressources")
    Container(httpRequest, "Requête HTTP", "HTTP", "Requête HTTP contenant les informations pour les règles")

    Rel(configLoader, configFile, "Charge la configuration")
    Rel(ruleEngine, configLoader, "Utilise")
    Rel(assetCollector, ruleEngine, "Interroge et utilise")
    Rel(ruleEngine, httpRequest, "Évalue les règles basées sur")
    Rel(assetCollector, httpRequest, "Accède aux informations de la requête")
bash
vendor/bin/phpunit tests/AssetGathererTest.php