PHP code example of eusonlito / laravel-packer

1. Go to this page and download the library: Download eusonlito/laravel-packer 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/ */

    

eusonlito / laravel-packer example snippets



// config/app.php

'providers' => [
    '...',
    'Eusonlito\LaravelPacker\PackerServiceProvider',
];

'aliases' => [
    '...',
    'Packer'    => 'Eusonlito\LaravelPacker\Facade',
];

// resources/views/hello.blade.php

<html>
    <head>
        // Pack a simple file
        {!! Packer::css('/css/main.css', '/storage/cache/css/main.css') !!}

        // Pack a simple file using cache_folder option as storage folder to packed file
        {!! Packer::css('/css/main.css', 'css/main.css') !!}

        // Packing multiple files
        {!! Packer::css(['/css/main.css', '/css/bootstrap.css'], '/storage/cache/css/styles.css') !!}

        // Packing multiple files using cache_folder option as storage folder to packed file
        {!! Packer::css(['/css/main.css', '/css/bootstrap.css'], 'css/styles.css') !!}

        // Packing multiple files with autonaming based
        {!! Packer::css(['/css/main.css', '/css/bootstrap.css'], '/storage/cache/css/') !!}

        // pack and combine all css files in given folder
        {!! Packer::cssDir('/css/', '/storage/cache/css/all.css') !!}

        // pack and combine all css files in given folder using cache_folder option as storage folder to packed file
        {!! Packer::cssDir('/css/', 'css/all.css') !!}

        // Packing multiple folders
        {!! Packer::cssDir(['/css/', '/theme/'], '/storage/cache/css/all.css') !!}

        // Packing multiple folders with recursive search
        {!! Packer::cssDir(['/css/', '/theme/'], '/storage/cache/css/all.css', true) !!}

        // Packing multiple folders with recursive search and autonaming
        {!! Packer::cssDir(['/css/', '/theme/'], '/storage/cache/css/', true) !!}

        // Packing multiple folders with recursive search and autonaming using cache_folder option as storage folder to packed file
        {!! Packer::cssDir(['/css/', '/theme/'], 'css/', true) !!}
    </head>
</html>

// resources/views/hello.blade.php

<html>
    <body>
    ...
        // Pack a simple file
        {!! Packer::js('/js/main.js', '/storage/cache/js/main.js') !!}

        // Pack a simple file using cache_folder option as storage folder to packed file
        {!! Packer::js('/js/main.js', 'js/main.js') !!}

        // Packing multiple files
        {!! Packer::js(['/js/main.js', '/js/bootstrap.js'], '/storage/cache/js/styles.js') !!}

        // Packing multiple files using cache_folder option as storage folder to packed file
        {!! Packer::js(['/js/main.js', '/js/bootstrap.js'], 'js/styles.js') !!}

        // Packing multiple files with autonaming based
        {!! Packer::js(['/js/main.js', '/js/bootstrap.js'], '/storage/cache/js/') !!}

        // pack and combine all js files in given folder
        {!! Packer::jsDir('/js/', '/storage/cache/js/all.js') !!}

        // pack and combine all js files in given folder using cache_folder option as storage folder to packed file
        {!! Packer::jsDir('/js/', 'js/all.js') !!}

        // Packing multiple folders
        {!! Packer::jsDir(['/js/', '/theme/'], '/storage/cache/js/all.js') !!}

        // Packing multiple folders with recursive search
        {!! Packer::jsDir(['/js/', '/theme/'], '/storage/cache/js/all.js', true) !!}

        // Packing multiple folders with recursive search and autonaming
        {!! Packer::jsDir(['/js/', '/theme/'], '/storage/cache/js/', true) !!}

        // Packing multiple folders with recursive search and autonaming using cache_folder option as storage folder to packed file
        {!! Packer::jsDir(['/js/', '/theme/'], 'js/', true) !!}
    </body>
</html>

// resources/views/hello.blade.php

<html>
    <body>
    ...
        // Set width size to 500px using cache_folder default parameter (from settings)
        <img src="{{ Packer::img('/images/picture.jpg', 'resize,500') }}" />

        // Crop image to 200px square with custom cache folder (full path)
        <img src="{{ Packer::img('/images/picture.jpg', 'resizeCrop,200,200', '/storage/cache/images/') }}" />

        // Crop image to 200px square center middle with custom cache folder (using cache_folder as base)
        <img src="{{ Packer::img('/images/picture.jpg', 'resizeCrop,200,200', 'images/') }}" />

        // Crop image to 200px square center top with custom cache folder (using cache_folder as base)
        <img src="{{ Packer::img('/images/picture.jpg', 'resizeCrop,200,200,center,top', 'images/') }}" />
    </body>
</html>


return array(

    /*
    |--------------------------------------------------------------------------
    | Current environment
    |--------------------------------------------------------------------------
    |
    | Set the current server environment. Leave empty to laravel autodetect
    |
    */

    'environment' => '',

    /*
    |--------------------------------------------------------------------------
    | App environments to not pack
    |--------------------------------------------------------------------------
    |
    | These environments will not be minified and all individual files are
    | returned
    |
    */

    'ignore_environments' => ['local'],

    /*
    |--------------------------------------------------------------------------
    | Public accessible path
    |--------------------------------------------------------------------------
    |
    | Set absolute folder path to public view from web. If you are using
    | laravel, this value will be set with public_path() function
    |
    */

    'public_path' => realpath(getenv('DOCUMENT_ROOT')),

    /*
    |--------------------------------------------------------------------------
    | Asset absolute location
    |--------------------------------------------------------------------------
    |
    | Set absolute URL location to asset folder. Many times will be same as
    | public_path but using absolute URL. If you are using laravel, this value
    | will be set with asset() function
    |
    */

    'asset' => 'http://'.getenv('SERVER_NAME').'/',

    /*
    |--------------------------------------------------------------------------
    | Base folder to store packed files
    |--------------------------------------------------------------------------
    |
    | If you are using relative paths to second paramenter in css and js
    | commands, this files will be created with this folder as base.
    |
    | This folder in relative to 'public_path' value
    |
    */

    'cache_folder' => '/storage/cache/',

    /*
    |--------------------------------------------------------------------------
    | Check if some file to pack have a recent timestamp
    |--------------------------------------------------------------------------
    |
    | Compare current packed file with all files to pack. If exists one more
    | recent than packed file, will be packed again with a new autogenerated
    | name.
    |
    */

    'check_timestamps' => true,

    /*
    |--------------------------------------------------------------------------
    | Check if you want minify css files or only pack them together
    |--------------------------------------------------------------------------
    |
    | You can check this option if you want to join and minify all css files or
    | only join files
    |
    */

    'css_minify' => true,

    /*
    |--------------------------------------------------------------------------
    | Check if you want minify js files or only pack them together
    |--------------------------------------------------------------------------
    |
    | You can check this option if you want to join and minify all js files or
    | only join files
    |
    */

    'js_minify' => true,

    /*
    |--------------------------------------------------------------------------
    | Use fake images stored in src/images/ when original image does not exists
    |--------------------------------------------------------------------------
    |
    | You can use fake images in your developments to avoid not existing
    | original images problems. Fake images are stored in src/images/ and used
    | with a rand
    |
    */

    'images_fake' => true
);



// Check default settings
$config = r\Packer($config);

echo $Packer->css([
    '/resources/css/styles-1.css',
    '/resources/css/styles-2.css'
], 'css/styles.css')->render();

echo $Packer->js('/resources/js/scripts.js', 'js/scripts.js')->render();

echo $Packer->js([
    '/resources/js/scripts-1.js',
    '/resources/js/scripts-2.js'
], 'js/')->render();

php artisan vendor:publish --provider="Eusonlito\LaravelPacker\PackerServiceProvider"