javascript / put-vars
将 PHP 转换为 JavaScript
2.1.1
2016-06-30 07:11 UTC
Requires
- php: >=5.5.0
- illuminate/support: ~5.1
Requires (Dev)
- phpspec/phpspec: ~2.0
This package is not auto-updated.
Last update: 2024-09-14 19:31:13 UTC
README
通常,你会发现自己处于需要将一些服务器端字符串/数组/集合/ whatever 传递到 JavaScript 的情境中。传统上,这可能有点麻烦——特别是随着你的应用程序的增长。
此包极大地简化了此过程。
此源代码
安装
首先通过 Composer 安装此包。
{ "repositories": [ { "type": "vcs", "url": "https://github.com/duyluonglc/PHP-Vars-To-Js-Transformer" } ], "require": { ............... "javascript/utilities": "dev-master" } }
Laravel 5.1 用户
// config/app.php 'providers' => [ '...', 'JavaScript\Utilities\JavaScript\JavaScriptServiceProvider' ];
当此提供者启动时,你将能够访问一个有用的 JavaScript
面板,你可以在控制器中使用它。
public function index() { JavaScript::put([ 'foo' => 'bar', 'user' => User::first(), 'age' => 29 ]); JavaScript::put('messages', ['hello', 'hi']); return View::make('hello'); }
在 Laravel 5 中,当然需要在控制器的顶部添加
use JavaScript;
。
添加 render() 将变量导出到视图中。例如
<body>
<h1>My Page</h1>
{!! JavaScript::render() !!} // <-- Variables prepended to this view
</body>
使用上面的代码,你现在将能够从你的 JavaScript 中访问 foo
、user
和 age
。
console.log(foo); // bar console.log(user); // User Obj console.log(age); // 29 console.log(messages); //array of messages
你可以使用 jquery 来扩展对象并通过调用 Javascript::extend($var) 保留现有属性,而不是使用 put 方法。
你可以通过更改配置来更改变量的默认命名空间 = window。请参见下文。
默认设置
php artisan vendor:publish
这将向: config/javascript.php
添加一个新的配置文件。
<?php return [ /* |-------------------------------------------------------------------------- | 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', ];