Awesome
Phar Replace
Adds search and replace support for the phar library.
Requirement
- PHP >= 5.3.3
- Phine Exception >= 1.0.0
- Phine Observer >= 2.0
- Phine Phar >= 1.0.0
Installation
Via Composer:
$ 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:
Builder::ADD_FILE
Builder::ADD_STRING
To create an observer, you will need a new instance of ReplaceObserver
.
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
.
It may be important to note that only scalar values are supported.
You may also set search strings and replacement values after the observer
has been created by calling either setSearchValue()
or setSearchValues()
:
// 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.
Documentation
You can find the API documentation here.
License
This library is available under the MIT license.