javascript/put-vars

将 PHP 转换为 JavaScript

2.1.1 2016-06-30 07:11 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:31:13 UTC


README

Build Status

通常,你会发现自己处于需要将一些服务器端字符串/数组/集合/ 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 中访问 foouserage

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',
    
];