kenarkose / synthesizer
Framework Agnostic Customizable String Synthesizer with Add-in Processors and Macros.
Requires
- php: >=5.4.0
- cebe/markdown: ~1.1
- erusev/parsedown-extra: 0.7.*
Requires (Dev)
- phpspec/phpspec: ~2.1
This package is not auto-updated.
Last update: 2019-11-04 08:48:37 UTC
README
Synthesizer is a framework agnostic customizable string synthesizer with add-in processors and macros.
Features
- Stack-based string processing
- A variety of string processors
- A phpspec test suite for easy development
- Service Provider for Laravel 5
Installation
Installing Synthesizer is simple.
-
Pull this package in through Composer.
{ "require": { "kenarkose/synthesizer": "~1.0" } }
-
Create a new Synthesizer instance
$synthesizer = new Kenarkose\Synthesizer\Synthesizer; $synthesizer->addProcessors([ 'markdown' => 'Kenarkose\Synthesizer\Processor\Markdown\Processor', 'htmlspecialchars' => 'Kenarkose\Synthesizer\Processor\HTMLSpecialCharsProcessor' ]); $synthesizer->addMacro('markdown', ['htmlspecialchars', 'markdown']); echo $synthesizer->markdown('Hello <synthesizer>!'); // <p>Hello <synthesizer>!</p> echo $synthesizer->useMarkdownProcessor('Hello <synthesizer>!'); // <p>Hello <synthesizer>!</p>
Synthesizer's public API offers a variety of methods for adding macros or processors. For more options you may refer to source code and tests as Synthesizer is well tested.
For Laravel 5 Users
The Synthesizer Service Provider for Laravel 5 registers a number of processors and macros if the config file is published. Otherwise you may add your own by using the supplied Facade.
Laravel Installation
-
In order to register Synthesizer Service Provider add
'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerServiceProvider'
to the end ofproviders
array in yourconfig/app.php
file.'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerServiceProvider', ),
-
You may access the services provided by Synthesizer by using the supplied Facade.
Synthesizer::addProcessor('markdown', new Kenarkose\Synthesizer\Processor\MarkdownExtraProcessor); Synthesizer::addProcessor('callable', function($synthesizer, $value, $args) { return str_replace('hi', 'hello', $value); });
In order to register the Facade add
'Synthesizer' => 'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerFacade'
to the end ofaliases
array in yourconfig/app.php
file.'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', ... 'Synthesizer' => 'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerFacade', ),
-
Finally, you may register the default processors and macros for Synthesizer by publishing the configuration file. To do so, use the following command.
php artisan vendor:publish
Than, you will find the configuration file on the
config/synthesizer.php
path.
License
Synthesizer is released under MIT License.