kenarkose/synthesizer

此包已被废弃,不再维护。没有推荐替代包。

框架无关的可定制字符串合成器,具有附加处理程序和宏。

1.1.4 2016-07-25 17:33 UTC

This package is not auto-updated.

Last update: 2019-11-04 08:48:37 UTC


README

Synthesizer是一个框架无关的可定制字符串合成器,具有附加处理程序和宏。

Build Status Total Downloads Latest Stable Version License

特性

  • 基于栈的字符串处理
  • 多种字符串处理程序
  • 一个易于开发的phpspec测试套件
  • Laravel 5的Service Provider

安装

安装Synthesizer很简单。

  1. 通过Composer拉取此包。

    {
        "require": {
            "kenarkose/synthesizer": "~1.0"
        }
    }
  2. 创建一个新的Synthesizer实例

    $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 &lt;synthesizer&gt;!</p>
    
    echo $synthesizer->useMarkdownProcessor('Hello <synthesizer>!');
    // <p>Hello <synthesizer>!</p>

Synthesizer的公共API提供了多种方法来添加宏或处理程序。更多选项,您可以参考源代码和测试,因为Synthesizer经过了良好的测试。

Laravel 5用户

Laravel 5的Synthesizer Service Provider在配置文件发布时会注册多个处理程序和宏。否则,您可以使用提供的Facade来添加自己的。

Laravel安装

  1. 为了注册Synthesizer Service Provider,将'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerServiceProvider'添加到您的config/app.php文件中providers数组的末尾。

    'providers' => array(
    
        'Illuminate\Foundation\Providers\ArtisanServiceProvider',
        'Illuminate\Auth\AuthServiceProvider',
        ...
        'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerServiceProvider',
    
    ),
  2. 您可以使用提供的Facade访问Synthesizer提供的服务。

    Synthesizer::addProcessor('markdown', new Kenarkose\Synthesizer\Processor\MarkdownExtraProcessor);
    
    Synthesizer::addProcessor('callable', function($synthesizer, $value, $args)
    {
        return str_replace('hi', 'hello', $value);
    });

    为了注册Facade,将'Synthesizer' => 'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerFacade'添加到您的config/app.php文件中aliases数组的末尾。

    'aliases' => array(
    
        'App'        => 'Illuminate\Support\Facades\App',
        'Artisan'    => 'Illuminate\Support\Facades\Artisan',
        ...
        'Synthesizer'   => 'Kenarkose\Synthesizer\Provider\Laravel\SynthesizerFacade',
    
    ),
  3. 最后,您可以通过发布配置文件来注册Synthesizer的默认处理程序和宏。要这样做,请使用以下命令。

    php artisan vendor:publish

    然后,您将在config/synthesizer.php路径上找到配置文件。

许可证

Synthesizer在MIT许可证下发布。