栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php之laravel中自定义模板命令

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php之laravel中自定义模板命令

在框架中想要让操作变得简洁,对于命令的熟练调用是必不可少的。说到自定义的命令,那么tojs无疑是非常好的选择。同时对于js语言的切换上也是速度非常快的。下面我们就laravel框架中tojs这种自定义的命令带来详细的介绍,大家也快来看看实际的使用中都会遇到哪些流程吧。

1、创建ToJsServiceProvider

namespace AppProviders;
 
 
 
use AppHelpersToJsToJs;
 
use IlluminateSupportFacadesBlade;
 
use IlluminateSupportServiceProvider;
 
 
 
class ToJsServiceProvider extends ServiceProvider
 
{
 
    
 
    public function boot()
 
    {
 
        //
 
    }
 
 
 
    
 
    public function register()
 
    {
 
        $this->app->singleton('tojs', function () {
 
            return new ToJs();
 
        });
 
 
 
        
 
        Blade::directive('tojs', function () {
 
            return '';
 
        });
 
    }
 
}

2、ToJs方法主要是对数组的一些操作

namespace AppHelpersToJs;
 
 
 
use IlluminateSupportArr;
 
 
 
class ToJs
 
{
 
    protected $data = [];
 
 
 
    public function put(array $data)
 
    {
 
        foreach ($data as $key => $value) {
 
            $this->data[$key] = value($value);
 
        }
 
 
 
        return $this;
 
    }
 
 
 
    public function get($key = null, $default = null)
 
    {
 
        if (!$key) return $this->data;
 
 
 
        return Arr::get($this->data, $key, $default);
 
    }
 
 
 
    public function forget($keys)
 
    {
 
        Arr::forget($this->data, $keys);
 
 
 
        return $this;
 
    }
 
}

3、声明facade

namespace AppHelpersToJsFacades;
 
 
 
use IlluminateSupportFacadesFacade;
 
 
 
 
 
class ToJsFacade extends Facade
 
{
 
    
 
    protected static function getFacadeAccessor()
 
    {
 
        return 'tojs';
 
    }
 
}

4、在config数组添加serviceProvider

providers 添加

AppProvidersToJsServiceProvider::class

aliases 添加

'ToJs' => AppHelpersToJsFacadesToJsFacade::class,

5、为了方便调用可以在写一个helper方法

if (!function_exists('to_js')) {
 
    
 
    function to_js($key = null, $default = null)
 
    {
 
        if (is_null($key)) {
 
            return app('tojs');
 
        }
 
 
 
        if (is_array($key)) {
 
            return app('tojs')->put($key);
 
        }
 
 
 
        return app('tojs')->get($key, $default);
 
    }
 
}

在PHP代码需要的地方调用 to_js(['username'=>'test']);

blade模板直接通过 @tojs 就可以在页面渲染出。

以上就是php之laravel中的自定义模板命令,相信大家已经初步学会了tojs命令的调用,如果想要了解更多的命令,也可以在课后自行查询资料。更多php学习指路:php框架

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/14363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号