Laravel package to manage files data
ibrostudio/laravel-file-data-manager is a Laravel package for laravel package to manage files data.
It currently has 0 GitHub stars and 8 downloads on Packagist (latest version 1.1.0).
Install it with composer require ibrostudio/laravel-file-data-manager.
Discover more Laravel packages by ibrostudio
or browse all Laravel packages to compare alternatives.
Last updated
Little tool to read, change or add data in files.
Currently, it works with:
You can install the package via composer:
composer require ibrostudio/laravel-file-data-manager
There is 3 types of chainable methods, callable in this order: load > manipulation > result
use IBroStudio\FileDataManager\FileDataManager;
$package_name = FileDataManager::load(base_path('composer.json'))
->findValue('name')
->getValue(); // = 'vendor/currentPackageName'
$package_name = FileDataManager::load(__DIR__ . '/Fixtures/Test.php')
->replaceValue('name', 'vendor/newPackageName')
->findValue('name')
->getValue(); // = 'vendor/newPackageName'
Test.php
class Test
{
protected array $testArray = [
SomeClass1::class,
SomeClass2::class,
];
}
use IBroStudio\FileDataManager\FileDataManager;
$test = FileDataManager::load('Test.php');
$test
->findArray('$testArray')
->getValue(); // = ['SomeClass1::class', 'SomeClass2::class']
$test
->addArrayValue('$testArray', 'SomeClass3::class')
->write();
$test
->findArray('$testArray')
->getValue(); // = ['SomeClass1::class', 'SomeClass2::class', 'SomeClass3::class']
Test.php
use Vendor\Package\Namespace\Class1;
class Test{}
use IBroStudio\FileDataManager\FileDataManager;
FileDataManager::load('Test.php')
->addRegexValue('#(use\s(.*?)\;)#s', 'use Vendor\Package\Namespace\Class2;')
->write();
$imports = FileDataManager::load('Test.php')
->findRegex('#(use\s(.*?)\;)#s')
->getValue(); // = ['use Vendor\Package\Namespace\Class1;', 'use Vendor\Package\Namespace\Class2;']
It is possible to chain manipulations methods:
use IBroStudio\FileDataManager\FileDataManager;
FileDataManager::load('Test.php')
->replaceValue('$testValue', 'tata')
->addArrayValue('$testArray1', "'NewValue'")
->addArrayValue('$testArray2', 'OtherNewValue::class')
->addRegexValue('#(use\s(.*?)\;)#s', 'use Vendor\Package\Namespace\Class2;')
->write();
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.