mikkellindblom/laravel-js-helper

此包已被废弃,不再维护。未建议替代包。

将 PHP 转换为 JavaScript

1.0 2018-02-09 13:24 UTC

This package is not auto-updated.

Last update: 2021-07-10 18:15:50 UTC


README

安装

首先通过 Composer 安装此包。

composer require mikkellindblom/laravel-js-helper

用法

当此提供者启动时,您将能够访问一个有用的 JavaScript 门面,您可以在控制器中使用它。

public function index()
{
    JavaScript::put([
        'foo' => 'bar',
        'user' => User::first(),
        'age' => 29
    ]);

    return View::make('hello');
}

在 Laravel 5 中,当然在控制器的顶部添加 use JavaScript;

使用上面的代码,您现在可以从 JavaScript 访问 foouserage

console.log(foo); // bar
console.log(user); // User Obj
console.log(age); // 29

此包默认将 JavaScript 变量绑定到 "footer" 视图,您将包含它。例如

<body>
    <h1>My Page</h1>

    @include ('footer') // <-- Variables prepended to this view
</body>

当然,您可以将此默认值更改为不同的视图。见下文。

默认设置

如果使用 Laravel,您只需关心两个配置选项。首先,发布默认配置。

php artisan vendor:publish

// Or...

php artisan vendor:publish --provider="Mikkellindblom\js-helper\JavaScript\JavaScriptServiceProvider"

这将向: config/javascript.php 添加一个新的配置文件。

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | View to Bind JavaScript Vars To
    |--------------------------------------------------------------------------
    |
    | Set this value to the name of the view (or partial) that
    | you want to prepend all JavaScript variables to.
    |
    */
    'bind_js_vars_to_this_view' => 'footer',

    /*
    |--------------------------------------------------------------------------
    | JavaScript Namespace
    |--------------------------------------------------------------------------
    |
    | By default, we'll add variables to the global window object. However,
    | it's recommended that you change this to some namespace - anything.
    | That way, you can access vars, like "SomeNamespace.someVariable."
    |
    */
    'js_namespace' => 'window'

];

bind_js_vars_to_this_view

您需要更新此文件以指定要将新 JavaScript 变量附加到的视图。通常,您的页脚是不错的选择。

如果您包含类似于 layouts/partials/footer 的部分,其中存储您的页脚和脚本引用,则将 bind_js_vars_to_this_view 键设置为该路径。幕后,此包的 Laravel 实现将监听该视图的组成,并在其中粘贴 JS 变量。

js_namespace

默认情况下,所有 JavaScript 变量都将嵌套在全局 window 对象下。您可能想更改此设置。更新 js_namespace 键,使用您想要的 JavaScript 命名空间名称。可以是任何名称。只需记住:如果您更改此设置(您应该这样做),则将像这样访问所有 JavaScript 变量

MyNewNamespace.varName

注意

在更改视图路径后运行此 artisan 命令。

php artisan config:clear

许可证

查看此存储库的许可证