kim / javascript
Laravel 包,用于将 PHP 变量传递到您的 JavaScript 文件中。
Requires
- php: >=5.4.0
- illuminate/support: ~5.0
Requires (Dev)
- phpspec/phpspec: ~2.1
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 update
或 composer 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 许可证的条款分发。