taylorpmt / short-code
Laravel 支持
v0.0.1
2022-04-06 14:02 UTC
Requires
- php: ^7.2|^8.0
- illuminate/contracts: 5.6.x|5.7.x|5.8.x|^6.0|^7.0|^8.0|^9.0
- illuminate/support: 5.6.x|5.7.x|5.8.x|^6.0|^7.0|^8.0|^9.0
- illuminate/view: 5.6.x|5.7.x|5.8.x|^6.0|^7.0|^8.0|^9.0
README
Laravel-Shortcodes
安装
您可以通过 composer 安装此包
composer require taylorpmt/short-code
更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组中
要求
- illuminate/view 5.6+
- illuminate/support 5.6+
- illuminate/contracts 5.6+
- PHP 7.2+
使用
Taylorpmt\ShortCode\Providers\ShortcodesServiceProvider::class
您可以使用外观(facade)以缩短代码。将以下内容添加到您的别名中
'Shortcode' => Taylorpmt\ShortCode\Facades\Shortcode::class,
或者,您可以使用 AppServiceProvider 注册以缩短代码。
<?php namespace App\Providers; use Taylorpmt\ShortCode\Facades\Shortcode; use Taylorpmt\ShortCode\Providers\ShortcodesServiceProvider; use Illuminate\Foundation\AliasLoader; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { $this->app->register(ShortcodesServiceProvider::class); $loader = AliasLoader::getInstance(); $loader->alias('Shortcode', Shortcode::class); } }
使用
创建文件 BlockSingleShortCode.php
<?php namespace CMS\Page\Repository\Shortcode; class BlockSingleShortCode { const short_code_name = 'category-item'; /* Shortcode register in providers */ public function register($shortcode, $content, $compiler, $name, $viewData) { // Logic code } }
在 providers 中注册 ShortCode
<?php namespace CMS\Page\Providers; use Illuminate\Support\ServiceProvider; use Shortcode; use CMS\Page\Repository\Shortcode\BlockSingleShortCode; class PageProviders extends ServiceProvider { public function register() { Shortcode::register(BlockSingleShortCode::short_code_name, BlockSingleShortCode::class); } }
短代码编译
定义访问器 要定义一个访问器,在您想要访问的列的模型上创建一个 getDataContentAttribute 方法。在此示例中,我们将定义 data_content 属性的访问器。访问器将在尝试检索 data_content 的值时自动由 Eloquent 调用
public function getDataContentAttribute()
{
return Shortcode::compile($data['data_content']);
}