mikkellindblom / laravel-js-helper
将 PHP 转换为 JavaScript
Requires
- php: >=5.5.0
- illuminate/support: ~5.0
Requires (Dev)
- phpspec/phpspec: ~2.0
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 访问 foo、user 和 age。
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