kim/javascript

Laravel 包,用于将 PHP 变量传递到您的 JavaScript 文件中。

1.0.0 2015-09-30 05:02 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:20:25 UTC


README

此包允许您简单地将 PHP 变量转换为在 JavaScript 中使用。

这是一个我为了练习/娱乐而制作的包。请使用Jeffrey Way 的包代替。

安装

安装此包非常简单。只需遵循几个快速步骤。

Composer

通过打开您的 composer.json 文件,并在 require 下添加此包来通过 composer 获取此包。

"kim/javascript": "~1.0"

之后,运行 composer updatecomposer install

提供者和别名

打开您的 config/app.php 文件,并将以下内容添加到提供者数组中

'Kim\JavaScript\JavaScriptServiceProvider'

并将以下内容添加到别名数组中

'JavaScript' => 'Kim\JavaScript\JavaScriptFacade'

配置文件

最后,通过在您的 favorite 命令行界面中运行此命令来发布包的配置文件

php artisan vendor:publish

此命令将在您的配置目录中发布一个 javascript.php 文件。

使用方法

添加单个变量

要添加或传递单个变量从 PHP 到 JavaScript,您可以使用简单的 add 方法。

JavaScript::add('name', 'Thomas');

现在,您可以使用 JavaScript 全局访问 name 变量。

console.log(name);	// Outputs 'Thomas'

请注意,第一个值是变量名。第二个值是变量的值。它遵循类似于关联数组的键值对。

添加值数组

您也可以传递值数组。

JavaScript::put([
    'foo' => 'bar',
    'pi' => 3.14,
    'isWorking' => true,
    'nothing' => NULL
]);

这些值将随后在您的 JavaScript 文件中全局访问。

console.log(foo);		// Outputs 'bar'
console.log(pi);		// Outputs 3.14
console.log(isWorking);	// Outputs true
console.log(nothing);	// Outputs null

多次调用

您不需要在一个位置调用 add 或 put 方法。您可以在多个文件中多次调用这两个方法,并且它将正常工作。

JavaScript::put([
    'foo' => 'bar',
    'pi' => 3.14,
]);
JavaScript::put([
    'isWorking' => true
    'name' => 'Thomas',
]);
JavaScript::add('nothing', NULL);
console.log(foo);		// Outputs 'bar'
console.log(pi);		// Outputs 3.14
console.log(isWorking);	// Outputs true
console.log(name);		// Outputs 'Thomas'
console.log(nothing);	// Outputs null

重复

此包还确保没有重复,如果您在一个类中添加了一个对象,然后又在另一个类中添加它,它将不会冲突。但是,如果两个值不同,则最后一个调用将覆盖前面的值。

// No conflict
JavaScript::add('name', 'Thomas');
JavaScript::add('name', 'Thomas');

console.log(name); // Outputs 'Thomas'

// New value overwrite old value
$user = User::first();
JavaScript::add('user', $user);
$user->name = "Stephanie";
JavaScript::add('user', $user);

console.log('user'); // Outputs user object with the name of 'Stephanie'

配置

如果您打开 config/javascript.php 文件,您将看到两个设置。默认情况下,JavaScript 变量被添加到 HTML head 的末尾。如果您想添加到其他地方,只需指定视图。它将自动将 JavaScript 变量添加到该视图的 开始 处。

您还可以指定命名空间并减少添加到全局作用域的对象/函数的数量。如果您更改了命名空间,请记住在您的 JavaScript 代码中反映这一点。例如,假设您将命名空间设置为 'parent'。

// Add your data like you normally would.
JavaScript::add('foo', 'bar');
// Access it from the parent namespace using either brackets or the dot notation.
console.log(parent.foo);	// Outputs 'bar'
console.log(parent['foo']);	// Outputs 'bar'

许可证

此包是免费软件,根据 MIT 许可证的条款分发。