laravel中自定义模板命令及过程是什么
Admin 2022-10-08 群英技术资讯 1120 次浏览
今天这篇我们来学习和了解“laravel中自定义模板命令及过程是什么”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“laravel中自定义模板命令及过程是什么”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!在框架中想要让操作变得简洁,对于命令的熟练调用是必不可少的。说到自定义的命令,那么tojs无疑是非常好的选择。同时对于js语言的切换上也是速度非常快的。下面我们就laravel框架中tojs这种自定义的命令带来详细的介绍,大家也快来看看实际的使用中都会遇到哪些流程吧。
1、创建ToJsServiceProvider
namespace App\Providers;
use App\Helpers\ToJs\ToJs;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\ServiceProvider;
class ToJsServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->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方法主要是对数组的一些操作
namespace App\Helpers\ToJs;
use Illuminate\Support\Arr;
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 App\Helpers\ToJs\Facades;
use Illuminate\Support\Facades\Facade;
class ToJsFacade extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'tojs';
}
}
4、在config数组添加serviceProvider
providers 添加
\App\Providers\ToJsServiceProvider::class
aliases 添加
'ToJs' => \App\Helpers\ToJs\Facades\ToJsFacade::class,
5、为了方便调用可以在写一个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代码需要的地方调用 to_js(['username'=>'test']);
blade模板直接通过 @tojs 就可以在页面渲染出。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在thinkphp中,n方法属于计数器方法,用于核心的查询、缓存统计的计数和统计,语法为“N('计数位置'[,'步进值'])”;n方法页面执行完毕后的统计结果不会带入下次统计。
用PHP实现微信授权登录的流程及方法是什么?要使用微信授权登录功能需要先在微信开发平台创建应用。然后会获取微信提供给你的appId和AppSecret,然后就可以进行开发了。当然现有很多大佬封装的微信类库非常齐全,而且还很好用,可以去试试,下面讲解一下基本实现方法。
PHP单例模式是什么?使用单例模式有什么好处?很多人新手在学习PHP时,对于单例模式不是很理解,下面就给大家介绍一下关于php单例模式,以及我们要如何设计单例模式和建立数据库连接。
本篇文章给大家介绍一下php7实现垃圾回收机制的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
Opcache 的前生是 Optimizer+ ,它是 Zend 开发的 PHP 优化加速组件。Optimizer+ 将 PHP 代码预编译生成的脚本文件 Opcode 缓存在共享内存中供以后反复使用,从而避免了从磁盘读取代码再次编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。从而加速 PHP 的执行。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008