filters/ReplaceTokensWithFile.php
Replaces tokens in the original input with the contents of a file.
The file to be used is controlled by the name of the token which corresponds to the basename of the file to be used together with the optional pre and postfix strings that is possible to set.
By default all HTML entities in the file is replaced by the corresponding HTML entities. This behaviour can be controlled by the "translatehtml" parameter.
Supported parameters are:
prefix string Text to be prefixed to token before using as filename postfix string Text to be prefixed to token before using as filename dir string The directory where the files should be read from translatehtml bool If we should translate all HTML entities in the file.
Example:
- Access
- public
- Author
- johan persson, johanp@aditus.nu
- Package
- phing.filters
- See
- \ReplaceTokensWithFile
- Version
- $Id: 164a2d9eeba3673653086b32e9fa2045168c992c $
\ReplaceTokensWithFile
Replaces tokens in the original input with the contents of a file.
The file to be used is controlled by the name of the token which corresponds to the basename of the file to be used together with the optional pre and postfix strings that is possible to set.
By default all HTML entities in the file is replaced by the corresponding HTML entities. This behaviour can be controlled by the "translatehtml" parameter.
Supported parameters are:
prefix string Text to be prefixed to token before using as filename postfix string Text to be prefixed to token before using as filename dir string The directory where the files should be read from translatehtml bool If we should translate all HTML entities in the file.
Example:
- Parent(s)
- \BaseParamFilterReader < \BaseFilterReader < \FilterReader < \Reader
- See
- \ReplaceTokensWithFile
- Access
- public
- Author
- johan persson, johanp@aditus.nu
- Copyright
- � 2003 seasonfive. All rights reserved
- Version
- $Id: 164a2d9eeba3673653086b32e9fa2045168c992c $
Constants
Properties

string
$_beginToken= 'ReplaceTokensWithFile::DEFAULT_BEGIN_TOKEN'
Character marking the beginning of a token.
ReplaceTokensWithFile::DEFAULT_BEGIN_TOKENDetails- Type
- string

string
$_dir= ''./''
Directory where to look for the files. The default is to look in the current file.
'./'Details- Type
- string

string
$_endToken= 'ReplaceTokensWithFile::DEFAULT_END_TOKEN'
Character marking the end of a token.
ReplaceTokensWithFile::DEFAULT_END_TOKENDetails- Type
- string

$_parameters= 'array()'
array()Details- Type
- n/a
- Inherited_from
- \BaseParamFilterReader::$$_parameters

string
$_postfix= ''''
File postfix to be inserted in front of the token to create the file name to be used.
''Details- Type
- string

string
$_prefix= ''''
File prefix to be inserted in front of the token to create the file name to be used.
''Details- Type
- string

array
$_tokensources= 'array()'
Array to hold the token sources that make tokens from different sources available
array()Details- Type
- array

boolean
$_translatehtml= 'true'
Translate all HTML entities in the file to the corresponding HTML entities before it is used as replacements. For example all '<' will be translated to < before the content is inserted.
trueDetails- Type
- boolean

\Reader
$in= ''
- Type
- \Reader
- Inherited_from
- \FilterReader::$$in
- Inherited_from
- \BaseFilterReader::$$in
- Inherited_from
- \BaseParamFilterReader::$$in

$initialized= 'false'
Have the parameters passed been interpreted?
Inherited from: \BaseFilterReader::$$initialized\BaseParamFilterReader::$$initializedfalseDetails- Type
- n/a
- Inherited_from
- \BaseFilterReader::$$initialized
- Inherited_from
- \BaseParamFilterReader::$$initialized

$project= 'null'
The Phing project this filter is part of.
Inherited from: \BaseFilterReader::$$project\BaseParamFilterReader::$$projectnullDetails- Type
- n/a
- Inherited_from
- \BaseFilterReader::$$project
- Inherited_from
- \BaseParamFilterReader::$$project
Methods

__construct(
\Reader $in
=
null
)
:
voidConstructor used by Phing's introspection mechanism.
Inherited from: \BaseFilterReader::__construct()\BaseParamFilterReader::__construct()The original filter reader is only used for chaining purposes, never for filtering purposes (and indeed it would be useless for filtering purposes, as it has no real data to filter). ChainedReaderHelper uses this placeholder instance to create a chain of real filters.
| Name | Type | Description |
|---|---|---|
| $in | \Reader |

_initialize(
)
:
voidInitializes parameters
This method is only called when this filter is used through
a

chain(
object $reader
)
:
objectCreates a new ReplaceTokensWithFile using the passed in Reader for instantiation.
| Name | Type | Description |
|---|---|---|
| $reader | object | A Reader object providing the underlying stream. Must not be |
| Type | Description |
|---|---|
| object | A new filter based on this configuration, but filtering the specified reader |

close(
)
:
voidClose stream.
Inherited from: \FilterReader::close()\BaseFilterReader::close()\BaseParamFilterReader::close()| Exception | Description |
|---|---|
| \IOException | if there is an error closing stream |

eof(
)
:
booleanReturns whether the end of file has been reached with input stream.
Inherited from: \BaseFilterReader::eof()\BaseParamFilterReader::eof()| Type | Description |
|---|---|
| boolean |

getBeginToken(
)
:
stringReturns the "begin token" character.
| Type | Description |
|---|---|
| string | The character used to denote the beginning of a token. |

getEndToken(
)
:
\theReturns the "end token" character.
| Type | Description |
|---|---|
| \the | character used to denote the beginning of a token |

getInitialized(
)
:
booleanReturns the initialized status.
Inherited from: \BaseFilterReader::getInitialized()\BaseParamFilterReader::getInitialized()| Type | Description |
|---|---|
| boolean | whether or not the filter is initialized |

getPostfix(
)
:
voidReturns the postfix that is added to the token in order to create the file name. For example if the token is 01 and the postfix is ".php" then the filename to look for will be "01.php"

getProject(
)
:
objectReturns the project this filter is part of.
Inherited from: \BaseFilterReader::getProject()\BaseParamFilterReader::getProject()| Type | Description |
|---|---|
| object | The project this filter is part of |

getResource(
)
:
stringReturns the filename, url, etc. that is being read from.
Inherited from: \FilterReader::getResource()\BaseFilterReader::getResource()\BaseParamFilterReader::getResource()This is critical for, e.g., ExpatParser's ability to know the filename that is throwing an ExpatParserException, etc.
| Type | Description |
|---|---|
| string |

getTranslateHTML(
)
:
voidReturns the drectory where to look for the files to use for token replacement

log(
string $msg, int $level
=
Project::MSG_INFO
)
:
voidConvenience method to support logging in filters.
Inherited from: \BaseFilterReader::log()\BaseParamFilterReader::log()| Name | Type | Description |
|---|---|---|
| $msg | string | Message to log. |
| $level | int | Priority level. |

mark(
)
:
voidIf supported, places a "marker" (like a bookmark) at current stream position.
Inherited from: \Reader::mark()\FilterReader::mark()\BaseFilterReader::mark()\BaseParamFilterReader::mark()A subsequent call to reset() will move stream position back to last marker (if supported).

markSupported(
)
:
booleanWhether marking is supported.
Inherited from: \Reader::markSupported()\FilterReader::markSupported()\BaseFilterReader::markSupported()\BaseParamFilterReader::markSupported()| Type | Description |
|---|---|
| boolean |

read(
\off $len
=
null
)
:
mixedReturns stream with tokens having been replaced with appropriate values.
If a replacement value is not found for a token, the token is left in the stream.
| Name | Type | Description |
|---|---|---|
| $len | \off | Offset at which to start storing characters. |
| Type | Description |
|---|---|
| mixed | filtered stream, -1 on EOF. |
| Exception | Description |
|---|---|
| \IOException | If an I/O error occurs |

readLine(
)
:
\theReads a line of text ending with '\n' (or until the end of the stream).
Inherited from: \BaseFilterReader::readLine()\BaseParamFilterReader::readLine()The returned String retains the '\n'.
| Type | Description |
|---|---|
| \the | line read, or <code>null</code> if the end of the stream has already been reached |
| Exception | Description |
|---|---|
| \IOException | if the underlying reader throws one during reading |

ready(
)
:
booleanIs stream ready for reading.
Inherited from: \Reader::ready()\FilterReader::ready()\BaseFilterReader::ready()\BaseParamFilterReader::ready()| Type | Description |
|---|---|
| boolean |

replaceTokenCallback(
array $matches
)
:
stringReplace the token found with the appropriate file contents
| Name | Type | Description |
|---|---|---|
| $matches | array | Array of 1 el containing key to search for. |
| Type | Description |
|---|---|
| string | Text with which to replace key or value of key if none is found. |
- Access
- private

reset(
)
:
voidReset the current position in stream to beginning or last mark (if supported).
Inherited from: \FilterReader::reset()\BaseFilterReader::reset()\BaseParamFilterReader::reset()
setBeginToken(
string $beginToken
)
:
voidSets the "begin token" character.
| Name | Type | Description |
|---|---|---|
| $beginToken | string | the character used to denote the beginning of a token. |

setDir(
string $dir
)
:
voidSets the drectory where to look for the files to use for token replacement
| Name | Type | Description |
|---|---|---|
| $dir | string |

setEndToken(
string $endToken
)
:
voidSets the "end token" character.
| Name | Type | Description |
|---|---|---|
| $endToken | string | the character used to denote the end of a token |

setInitialized(
boolean $initialized
)
:
voidSets the initialized status.
Inherited from: \BaseFilterReader::setInitialized()\BaseParamFilterReader::setInitialized()| Name | Type | Description |
|---|---|---|
| $initialized | boolean | Whether or not the filter is initialized. |

setParameters(
$parameters
)
:
void| Name | Type | Description |
|---|---|---|
| $parameters |

setPostfix(
string $postfix
)
:
voidSets the postfix that is added to the token in order to create the file name. For example if the token is 01 and the postfix is ".php" then the filename to look for will be "01.php"
| Name | Type | Description |
|---|---|---|
| $postfix | string |

setPrefix(
string $prefix
)
:
voidSets the prefix that is prepended to the token in order to create the file name. For example if the token is 01 and the prefix is "example" then the filename to look for will be "example01"
| Name | Type | Description |
|---|---|---|
| $prefix | string |

setProject(
object $project
)
:
voidSets the project to work with.
Inherited from: \BaseFilterReader::setProject()\BaseParamFilterReader::setProject()| Name | Type | Description |
|---|---|---|
| $project | object | The project this filter is part of. Should not be |

setReader(
$in
)
:
void| Name | Type | Description |
|---|---|---|
| $in |

setTranslateHTML(
$translate
)
:
voidSets the drectory where to look for the files to use for token replacement
| Name | Type | Description |
|---|---|---|
| $translate |

skip(
int $n
)
:
voidMove stream position relative to current pos.
Inherited from: \FilterReader::skip()\BaseFilterReader::skip()\BaseParamFilterReader::skip()| Name | Type | Description |
|---|---|---|
| $n | int |