ÿØÿà JFIF H H ÿÛ C ÿÛ Cÿ " ÿÄ ÿÄ ÿÚ ±5¬€ ÿÄ àÿÚ ÿÄ ÀÿÚ ? ÿÄ ÀÿÚ ? ÿÄ àÿÚ ? ÿÄ àÿÚ ?! ÿÚ ÿÄ ÀÿÚ ? ÿÄ ÀÿÚ ? ÿÄ àÿÚ ? ÿÙ
| Server IP : 160.25.81.117 / Your IP : 216.73.216.137 Web Server : Apache/2 System : Linux sv05.hilab.cloud 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : bellizen ( 1045) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/bellizen/public_html/vendor/radic/blade-extensions/src/ |
Upload File : |
<?php
/**
* Copyright (c) 2017. Robin Radic.
*
* The license can be found in the package and online at https://radic.mit-license.org.
*
* @copyright 2017 Robin Radic
* @license https://radic.mit-license.org MIT License
* @version 7.0.0 Radic\BladeExtensions
*/
/**
* Created by IntelliJ IDEA.
* User: radic
* Date: 8/7/16
* Time: 1:40 AM.
*/
namespace Radic\BladeExtensions;
use Illuminate\Support\ServiceProvider;
use Radic\BladeExtensions\Directives\MarkdownDirective;
use Radic\BladeExtensions\Helpers\Markdown\CebeMarkdownParser;
use Radic\BladeExtensions\Helpers\Markdown\MarkdownParserInterface;
/**
* This is the class BladeExtensionsServiceProvider.
*
* @author Robin Radic
*/
class BladeExtensionsServiceProvider extends ServiceProvider
{
public function boot()
{
$this->publishes([
__DIR__.'/../config/blade-extensions.php' => config_path('blade-extensions.php'),
], 'config');
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->mergeConfigFrom(__DIR__.'/../config/blade-extensions.php', 'blade-extensions');
$this->registerDirectiveRegistry();
$this->registerHelperRepository();
$this->registerBladeExtensions();
$this->registerAliases();
$this->registerContextualBindings();
$this->app->booted(function ($app) {
$app[ 'blade-extensions.directives' ]->hookToCompiler();
});
}
protected function registerBladeExtensions()
{
$this->app->singleton('blade-extensions', function ($app) {
return new BladeExtensions($app[ 'blade-extensions.directives' ], $app[ 'blade-extensions.helpers' ]);
});
}
protected function registerDirectiveRegistry()
{
$this->app->singleton('blade-extensions.directives', function ($app) {
$directives = new DirectiveRegistry($app);
$directives->register($app[ 'config' ][ 'blade-extensions.directives' ]);
if ($this->app->environment() === 'testing') {
$directives->register($app[ 'config' ]->get('blade-extensions.optional', []));
}
$directives->setVersionOverrides($app[ 'config' ][ 'blade-extensions.version_overrides' ]);
return $directives;
});
}
protected function registerHelperRepository()
{
$this->app->singleton('blade-extensions.helpers', function ($app) {
return new HelperRepository();
});
}
protected function registerAliases()
{
$aliases = [
'blade-extensions' => [BladeExtensions::class, Contracts\BladeExtensions::class],
'blade-extensions.directives' => [DirectiveRegistry::class, Contracts\DirectiveRegistry::class],
'blade-extensions.helpers' => [HelperRepository::class, Contracts\HelperRepository::class],
];
foreach ($aliases as $key => $aliases) {
foreach ($aliases as $alias) {
$this->app->alias($key, $alias);
}
}
}
/**
* registerContextualBindings method.
*
* @return void
*/
protected function registerContextualBindings()
{
$this->app->when(MarkdownDirective::class)->needs(MarkdownParserInterface::class)->give(CebeMarkdownParser::class);
}
}