bvanhoekelen / php-compressor
PHP compressor merge multiple css and js files into one file
1.2.0
2018-12-18 21:51 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2024-12-19 12:04:30 UTC
README
Highlight
- Merge several files into one file
- Live compiler, fast and no additional program is needed
- Allows user to write code that can be used in other projects » Code reuse
- The ability to set variables » see variable in help
- Support .css, .fcss and .js files
- Required no changes on the live server
- Reducing server load and client load time
- Optimizing assets for a higher rank in google search results » PageSpeed
- Easy to install » instalation
- Support for Laravel framework » Laravel
Workflow
-
Input
- Contains the building blocks
- Folder can be placed before the public folder, no access for external users
- For a better overview you can split easy your code in into several files
- No
@include
, files are automatically merged - Ordering happened by name
-
Output
- Each extension has its own file
- Use normal html tag
<link href='compressor/take.css' rel='stylesheet'>
and<script src='compressor/take.js'></script>
to grab it
-
PHP compressor run (PhpCompressor::run())
- <loccation> (INPUT) directory where the .CSS, .FCSS and .JS files are
- <destination> (OUTPUT) directory that contains the
compressor/
folder. Note. de destination path is without thecompressor/
. This wil set in automatic - The output of PHP compressor wil set in the
compressor/
folder astake.*
- Run PHP compressor only in the developor environment, not in production!
(Input) (Output) Root/ . Root/ └── Resources/ .. ..................;;. └── Public/ (!) └── css/ (!) .. PHP compresspr ;;;;. └── compressor/ (static) │ ├── table.css . . .::::::::::::::::::;;:' ├── take.css │ ├── alert.css :' └── take.js │ ├── button.css │ ... └── js/ (!) │ ├── table.js │ ├── alert.js │ ├── button.js │ ... .. (PHP compressor) PhpCompressor::run(['resources/assets/css/', 'resources/assets/js/'], 'public/'); PhpCompressor::run( [ <loccation> , <location>, ... ], <destination> ); // explanation!
Help, docs and links
Instalation
Install with Laravel
Get PHP compressor by running the composer command in the command line.
$ composer require bvanhoekelen/php-compressor
Open the AppServiceProvider.php
located in App\Providers\
.
// Add namespace at the top use PhpCompressor\PhpCompressor; // Place the code in the `public function boot()`. if(config('app.debug')) // DON'T USE ON PRODUCTION !! PhpCompressor::run(['resources/assets/css/', 'resources/assets/js/'], 'public/');
Place the code in <head>
from the html file.
<!-- PHP compressor --> <link href="{{ asset('/compressor/take.css') }}" rel="stylesheet"> <script src="{{ asset('/compressor/take.js') }}"></script>
Install with composer
Get PHP compressor by running the composer command in the command line.
$ composer require bvanhoekelen/php-compressor
Run PHP compressor by place code before the view is draw.
// Require vender autoload require_once('../vendor/autoload.php'); // Use namespace use PhpCompressor\PhpCompressor; // Switch which determines if environment is production $production = false; // Run php conpressor if( ! $production ) // DON'T USE ON PRODUCTION !! PhpCompressor::run(['resources/css/', 'resources/js/'], 'public/');
Place the code in <head>
from the html file.
<!-- PHP compressor --> <link href='compressor/take.css' rel='stylesheet'> <script src='compressor/take.js'></script>