成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

laravel自定義模板指令-tojs

arashicage / 1857人閱讀

摘要:允許你自定義命令,你可以使用方法注冊命令。當(dāng)編譯器遇到該命令時,它將會帶參數(shù)調(diào)用提供的回調(diào)函數(shù)。

Blade 允許你自定義命令,你可以使用 directive 方法注冊命令。當(dāng) Blade 編譯器遇到該命令時,它將會帶參數(shù)調(diào)用提供的回調(diào)函數(shù)。blade模板可以通過directive方法來自定義模板指定,

tojs指令主要用于PHP自定義一些數(shù)據(jù)轉(zhuǎn)換為js對象方便js調(diào)用

1.創(chuàng)建ToJsServiceProvider
app->singleton("tojs", function () {
            return new ToJs();
        });

        /*
        * The block of code inside this directive indicates
        * the chosen javascript variables.
        */
        Blade::directive("tojs", function () {
            return "";
        });
    }
}
2. ToJs方法主要是對數(shù)組的一些操作
 $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
{
    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor()
    {
        return "tojs";
    }
}
4.在config數(shù)組添加serviceProvider

providers 添加
AppProvidersToJsServiceProvider::class

aliases 添加
"ToJs" => AppHelpersToJsFacadesToJsFacade::class,

5.為了方便調(diào)用可以在寫一個helper方法
if (!function_exists("to_js")) {
    /**
     * Access the javascript helper.
     */
    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代碼需要的地方調(diào)用 to_js(["username"=>"test"]);

blade模板直接通過 @tojs 就可以在頁面渲染出

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83693.html

相關(guān)文章

  • Laravel定義模板指令小結(jié)

    摘要:模板包含大量的內(nèi)置指令,例如等等,內(nèi)置的指令對于做一個簡單的項(xiàng)目足以,但是當(dāng)你在代碼中編寫重復(fù)復(fù)雜的功能時,那么自定義模板指令或許可以幫你優(yōu)化你的視圖結(jié)構(gòu)。 showImg(https://segmentfault.com/img/remote/1460000012420445?w=730&h=335); 介紹 通常我們在視圖模板中編寫復(fù)雜的邏輯,看上去顯得很雜亂,那么使用自定義的模板...

    tracymac7 評論0 收藏0
  • 5 個非常有用的 Laravel Blade 指令,你用過哪些?

    摘要:接下來我將帶大家認(rèn)識下五個指令,這些指令將讓你在解決特定問題時如虎添翼。如果你是剛接觸的用戶,這些小技巧能帶你認(rèn)識到模板引擎的便捷與高效。 showImg(https://segmentfault.com/img/remote/1460000015076241); 接下來我將帶大家認(rèn)識下五個 Laravel Blade 指令,這些指令將讓你在解決特定問題時如虎添翼。如果你是剛接觸 La...

    stefan 評論0 收藏0
  • Laravel 模板引擎(Blade)原理簡析

    摘要:上次提到過,模板引擎一般是要做三件事情變量值的輸出條件判斷和循環(huán)引入或繼承其他文件現(xiàn)在就來看看的模板引擎是如何來處理這三件事情的。引擎接下來就是本文的重點(diǎn)是如何編譯的。如果有興趣的話,也可以實(shí)現(xiàn)一個自己的模板解析引擎。 上次提到過,模板引擎一般是要做三件事情: 變量值的輸出(echo) 條件判斷和循環(huán)(if ... else、for、foreach、while) 引入或繼承其他文件 ...

    vvpvvp 評論0 收藏0
  • Laravel 5.4 入門系列 5. 博客通用布局

    摘要:接下來執(zhí)行遷移即可通用布局通用布局首先是博客首頁,定義路由控制器視圖博客首頁訪問下網(wǎng)站根目錄,顯示博客首頁,框架基本搭建完成了。首先是通用布局通用布局里面除了使用之外,還使用了,用于加載其他模板。 5. 博客的通用布局 初始化 創(chuàng)建控制器、模型、遷移 博客的核心是文章,可以先來實(shí)現(xiàn)和文章有關(guān)的功能,根據(jù)前幾節(jié)的介紹可知,我們至少需要創(chuàng)建這幾類: PostsController:控制器...

    xuweijian 評論0 收藏0
  • [譯] Laravel-mix 中文文檔

    摘要:原文地址鏡像地址中文文檔概覽基本示例是位于頂層的一個簡潔的配置層,在的情況下使用會使操作變的非常簡單。在項(xiàng)目根目錄下并沒有配置文件,默認(rèn)指向根目錄下的配置文件。否則,它通常與需要刪除的錯誤鎖文件有關(guān)。該問題已被在修復(fù)。 原文地址: Laravel Mix Docs 鏡像地址 : Laravel-mix 3.0 中文文檔 概覽 基本示例 larave-mix 是位于webpack頂層的一...

    K_B_Z 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<