maskame/arrayer

使用点表示法进行数组操作。同时准备一个数组以便将其放入文件中。对于配置文件非常有用。

3.4.0 2016-06-21 22:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:44:58 UTC


README

Packagist Travis license

数组操作。使用点表示法获取、设置和删除键,也可以准备一个数组(PHP数组或JSON)以便放入文件中。

安装

在您的composer.json中要求此包,然后运行composer update

composer require mascame/arrayer

用法

$array = array(

	'this' => array(
		'is' => 'an',
		'example'
	),

	'we use a' => 'normal array',

	'and manipulate it' => array(
		'as' => array(
			'we' => array(
				'want' => ':D'
			)
		)
	),

	'thats it',
	'cool? :)'

);

$arrayer = new \Mascame\Arrayer\Arrayer($array);

$arrayer->set('we.use.dot.notation', array('so', 'cool.'));

$arrayer->set('this.is', 'we gonna delete this very soon...');
$arrayer->delete('this.is');

$arrayer->set('more.examples', 'test');
$arrayer->get('more.examples'); // returns 'test'

$arrayer->getArray(); // returns the modified array

为文件构建准备输出(此示例使用Laravel的"File"类来放置文件内容)

/**
*   Available options for ArrayBuilder
*    [
*        'oldSyntax' => false, // use old array syntax
*        'minify' => false,
*        'indexes' => true, // Show the incremental indexes (array keys)
*        'startWithScript' => true, // start with <?php
*        'initialStatement' => 'return ',
*    ]
*/
$builder = new \Mascame\Arrayer\Builder\ArrayBuilder($arrayer->getArray(), $options);

File::put('test.php', $builder->getContent()); // getContent returns a prepared output to put in a file

/**
*   Available options for JsonBuilder
*    [
*        'minify' => false,
*    ]
*/
$builder = new \Mascame\Arrayer\Builder\JsonBuilder($arrayer->getArray(), $options);

File::put('test.json', $builder->getContent());

变更日志

3.4

  • 修复迁移到PSR-4后的缺失文件

3.3

  • ArrayBuilder 'indexes'选项用于删除增量索引(数组键)

3.1

  • 简化
  • 改进构建器

3.0

  • 简化代码
  • 改进ArrayBuilder,添加选项并包含JsonBuilder
  • 移除了Arrayer中的->append()方法,因为它有点令人困惑
  • 移除了未使用的laravel特定文件

2.1

  • 添加了测试
  • 修复了在构造函数中未创建arrayDot的问题
  • 移除了不必要的依赖项

2.0

  • 添加了操作方法(获取、设置、删除)
  • 点表示法
  • 提取构建器

1.1

  • 添加了对键和值的转义

贡献

感谢您考虑贡献!您可以在任何时间通过fork项目并提交pull request来贡献。

支持

如果您需要帮助或任何形式的支持,请通过电子邮件联系Marc Mascarell,邮箱地址为:marcmascarell@gmail.com

许可证

MIT