Phar Replace
, (*1)
Adds search and replace support for the phar library., (*2)
Requirement
Installation
Via Composer:, (*3)
$ composer require "phine/phar-replace=~1.0"
Usage
The library provides a single subject observer for lib-phar. This observer can
be registered to the following subjects in order to perform a global search and
replace of one or more search strings:, (*4)
Builder::ADD_FILE
Builder::ADD_STRING
To create an observer, you will need a new instance of ReplaceObserver
., (*5)
use Phine\Phar\Builder;
use Phine\Phar\Replace\ReplaceObserver;
// create the archive builder
$builder = Builder::create('example.phar');
// create the replace observer
$observer = new ReplaceObserver(
array(
'search' => 'replace',
'@search@' => 'replace',
'{{ search }}' => 'replace',
// ...etc...
)
);
// register it with the builder subjects
$builder->observe(Builder::ADD_FILE, $observer);
$builder->observe(Builder::ADD_STRING, $observer);
With the observer registered, any file or string added will all of its
search
, @search@
, {{ search }}
string occurrences replaced with the
value replace
., (*6)
It may be important to note that only scalar values are supported., (*7)
You may also set search strings and replacement values after the observer
has been created by calling either setSearchValue()
or setSearchValues()
:, (*8)
// add a value
$observer->setSearchValue('search string', 'replacement value');
// replace a value
$observer->setSearchValue('search string', 'a different value');
// replace all search strings and their values
$observer->setSearchValues(
array(
'search' => 'replace',
'@search@' => 'replace',
'{{ search }}' => 'replace',
// ...etc...
)
);
By using setSearchValues()
, you will be removing all previous search strings
and their replacement values. Only the new search strings and replacement values
provided will be used., (*9)
Documentation
You can find the API documentation here., (*10)
License
This library is available under the MIT license., (*11)