laravel自定义模板指令-tojs的示例

  介绍

小编给大家分享一下laravel自定义模板指令-tojs的示例,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

叶片允许你自定义命令,你可以使用指示方法注册命令。当叶片编译器遇到该命令时,它将会带参数调用提供的回调函数.blade模板可以通过指示方法来自定义模板指定,

tojs指令主要用于PHP自定义一些数据转换为js对象方便js调用

1。创建ToJsServiceProvider

& lt; php ?      namespace 应用\提供商;      use 应用\助手\ ToJs \ ToJs;   use 阐明\ \外墙\叶片的支持;   use 阐明\ \ ServiceProvider的支持;      class  ToJsServiceProvider  extends  ServiceProvider   {   ,,,/* *   ,,,,*,Bootstrap 从而application 服务。   ,,,,   ,,,,*,@return 空白   ,,,*/,,,public  function 引导()   ,,,{   ,,,,,,//,,,}      ,,,/* *   ,,,,*,Register 从而application 服务。   ,,,,   ,,,,*,@return 空白   ,,,*/,,,public  function 注册()   ,,,{   ,,,,,,,这个美元→程序→单例(& # 39;tojs& # 39;,, function  (), {   ,,,,,,,,,,,return  new  ToJs ();   ,,,,,,,});      ,,,,,,/*   ,,,,,,,*,从而block  of  code  inside 却;能够directive 显示   ,,,,,,,*,从而chosen  javascript 变量。   ,,,,,,*/,,,,,,,叶片::指令(& # 39;tojs& # 39;,, function  (), {   ,,,,,,,,,,,return  & # 39; & lt; script>, window.Laravel =, & # 39;,只json_encode(应用程序(& # 39;tojs& # 39;)→get()),只& # 39;& lt;/script> & # 39;;   ,,,,,,,});   ,,,}   }

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

& lt; php ?      namespace 应用\助手\ ToJs;      use 阐明\ \ Arr的支持;      class  ToJs   {   ,,,protected  data 美元;=,[];      ,,,public  function  (array 元数据)   ,,,{   ,,,,,,,foreach  (data 美元;as  key 美元;=祝辞,美元值),{   ,,,,,,,,,,,这个美元→数据(关键美元),=,价值(美元价值);   ,,,,,,,}      ,,,,,,,return 美元;   ,,,}      ,,,public  function  ($ key =, null,, default 美元;=,null)   ,,,{   ,,,,,,,if (! $键),return  $ this→数据;      ,,,,,,,return 加勒比海盗:获得($ this→数据,键,美元,美元默认);   ,,,}      ,,,public  function 忘记(键)   ,,,{   ,,,,,,,加勒比海盗:忘记美元($ this→数据,键);      ,,,,,,,return 美元;   ,,,}   }

3。声明立面

namespace 应用\助手\ ToJs \外墙;      use 阐明\ \外墙\正面的支持;         class  ToJsFacade  extends 外观   {   ,,,/* *   ,,,,*,Get 从而registered  name  of 从而组件。   ,,,,   ,,,,*,@return 字符串   ,,,*/,,,protected  static  function  getFacadeAccessor ()   ,,,{   ,,,,,,,return  & # 39; tojs& # 39;;   ,,,}   }

4。在配置数组添加serviceProvider

提供者添加
<代码> \ App \ \ ToJsServiceProvider提供者::类

别名添加
<代码> & # 39;ToJs& # 39;=比;\ App \助手\ ToJs \外墙\ ToJsFacade::类,

5。为了方便调用可以在写一个辅助方法

if  (! function_exists (& # 39; to_js& # 39;)), {   ,,,/* *   ,,,,*,Access 从而javascript 辅助。   ,,,*/,,,function  to_js ($ key =, null,, default 美元;=,null)   ,,,{   null   null   null   null   null   null   null   null   null   null   null

laravel自定义模板指令-tojs的示例