filters/ReplaceTokensWithFile.php

Show: inherited
Table of Contents

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

Package: phing\filters

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

Constantstring  DEFAULT_BEGIN_TOKEN = "#@#"

Default "begin token" character.

string
Constantstring  DEFAULT_END_TOKEN = "#@#"

Default "end token" character.

string

Properties

Propertyprivatestring  $_beginToken= 'ReplaceTokensWithFile::DEFAULT_BEGIN_TOKEN'

Character marking the beginning of a token.

Default valueReplaceTokensWithFile::DEFAULT_BEGIN_TOKENDetails
Type
string
Propertyprivatestring  $_dir= ''./''

Directory where to look for the files. The default is to look in the current file.

Default value'./'Details
Type
string
Propertyprivatestring  $_endToken= 'ReplaceTokensWithFile::DEFAULT_END_TOKEN'

Character marking the end of a token.

Default valueReplaceTokensWithFile::DEFAULT_END_TOKENDetails
Type
string
Propertyprotected  $_parameters= 'array()'
inherited

The passed in parameter array.

Inherited from: \BaseParamFilterReader::$$_parameters
Default valuearray()Details
Type
n/a
Inherited_from
\BaseParamFilterReader::$$_parameters  
Propertyprivatestring  $_postfix= ''''

File postfix to be inserted in front of the token to create the file name to be used.

Default value''Details
Type
string
Propertyprivatestring  $_prefix= ''''

File prefix to be inserted in front of the token to create the file name to be used.

Default value''Details
Type
string
Propertyprivatearray  $_tokensources= 'array()'

Array to hold the token sources that make tokens from different sources available

Default valuearray()Details
Type
array
Propertyprivateboolean  $_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 &lt; before the content is inserted.

Default valuetrueDetails
Type
boolean
Propertyprotected\Reader  $in= ''
Details
Type
\Reader
Inherited_from
\FilterReader::$$in  
Inherited_from
\BaseFilterReader::$$in  
Inherited_from
\BaseParamFilterReader::$$in  
Propertyprotected  $initialized= 'false'
inherited

Have the parameters passed been interpreted?

Inherited from: \BaseFilterReader::$$initialized\BaseParamFilterReader::$$initialized
Default valuefalseDetails
Type
n/a
Inherited_from
\BaseFilterReader::$$initialized  
Inherited_from
\BaseParamFilterReader::$$initialized  
Propertyprotected  $project= 'null'
inherited

The Phing project this filter is part of.

Inherited from: \BaseFilterReader::$$project\BaseParamFilterReader::$$project
Default valuenullDetails
Type
n/a
Inherited_from
\BaseFilterReader::$$project  
Inherited_from
\BaseParamFilterReader::$$project  

Methods

methodpublic__construct( \Reader $in = null ) : void
inherited

Constructor 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.

Parameters
Name Type Description
$in \Reader
methodprivate_initialize( ) : void

Initializes parameters This method is only called when this filter is used through a tag in build file.

methodpublicchain( object $reader ) : object

Creates a new ReplaceTokensWithFile using the passed in Reader for instantiation.

Parameters
Name Type Description
$reader object

A Reader object providing the underlying stream. Must not be null.

Returns
Type Description
object A new filter based on this configuration, but filtering the specified reader
methodpublicclose( ) : void
Throws
Exception Description
\IOException if there is an error closing stream
methodpubliceof( ) : boolean
inherited

Returns whether the end of file has been reached with input stream.

Inherited from: \BaseFilterReader::eof()\BaseParamFilterReader::eof()
Returns
Type Description
boolean
methodpublicgetBeginToken( ) : string

Returns the "begin token" character.

Returns
Type Description
string The character used to denote the beginning of a token.
methodpublicgetDir( ) : void

Returns the drectory where to look for the files to use for token replacement

methodpublicgetEndToken( ) : \the

Returns the "end token" character.

Returns
Type Description
\the character used to denote the beginning of a token
methodpublicgetInitialized( ) : boolean
inherited

Returns the initialized status.

Inherited from: \BaseFilterReader::getInitialized()\BaseParamFilterReader::getInitialized()
Returns
Type Description
boolean whether or not the filter is initialized
methodpublicgetParameters( ) : void
inherited

Inherited from: \BaseParamFilterReader::getParameters()
methodpublicgetPostfix( ) : void

Returns 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"

methodpublicgetPrefix( ) : void

methodpublicgetProject( ) : object
inherited

Returns the project this filter is part of.

Inherited from: \BaseFilterReader::getProject()\BaseParamFilterReader::getProject()
Returns
Type Description
object The project this filter is part of
methodpublicgetResource( ) : string
inherited

Returns 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.

Returns
Type Description
string
methodpublicgetTranslateHTML( ) : void

Returns the drectory where to look for the files to use for token replacement

methodpubliclog( string $msg, int $level = Project::MSG_INFO ) : void
inherited

Convenience method to support logging in filters.

Inherited from: \BaseFilterReader::log()\BaseParamFilterReader::log()
Parameters
Name Type Description
$msg string

Message to log.

$level int

Priority level.

methodpublicmark( ) : void
inherited

If 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).

methodpublicmarkSupported( ) : boolean
Returns
Type Description
boolean
methodpublicread( \off $len = null ) : mixed

Returns 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.

Parameters
Name Type Description
$len \off

Offset at which to start storing characters.

Returns
Type Description
mixed filtered stream, -1 on EOF.
Throws
Exception Description
\IOException If an I/O error occurs
methodpublicreadLine( ) : \the
inherited

Reads 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'.

Returns
Type Description
\the line read, or <code>null</code> if the end of the stream has already been reached
Throws
Exception Description
\IOException if the underlying reader throws one during reading
methodpublicready( ) : boolean
Returns
Type Description
boolean
methodprivatereplaceTokenCallback( array $matches ) : string

Replace the token found with the appropriate file contents

Parameters
Name Type Description
$matches array

Array of 1 el containing key to search for.

Returns
Type Description
string Text with which to replace key or value of key if none is found.
Details
Access
private  
methodpublicreset( ) : void
inherited

Reset the current position in stream to beginning or last mark (if supported).

Inherited from: \FilterReader::reset()\BaseFilterReader::reset()\BaseParamFilterReader::reset()
methodpublicsetBeginToken( string $beginToken ) : void

Sets the "begin token" character.

Parameters
Name Type Description
$beginToken string

the character used to denote the beginning of a token.

methodpublicsetDir( string $dir ) : void

Sets the drectory where to look for the files to use for token replacement

Parameters
Name Type Description
$dir string
methodpublicsetEndToken( string $endToken ) : void

Sets the "end token" character.

Parameters
Name Type Description
$endToken string

the character used to denote the end of a token

methodpublicsetInitialized( boolean $initialized ) : void
inherited

Sets the initialized status.

Inherited from: \BaseFilterReader::setInitialized()\BaseParamFilterReader::setInitialized()
Parameters
Name Type Description
$initialized boolean

Whether or not the filter is initialized.

methodpublicsetParameters(  $parameters ) : void
inherited

Inherited from: \BaseParamFilterReader::setParameters()
Parameters
Name Type Description
$parameters
methodpublicsetPostfix( string $postfix ) : void

Sets 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"

Parameters
Name Type Description
$postfix string
methodpublicsetPrefix( string $prefix ) : void

Sets 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"

Parameters
Name Type Description
$prefix string
methodpublicsetProject( object $project ) : void
inherited

Sets the project to work with.

Inherited from: \BaseFilterReader::setProject()\BaseParamFilterReader::setProject()
Parameters
Name Type Description
$project object

The project this filter is part of. Should not be null.

methodpublicsetReader(  $in ) : void
Parameters
Name Type Description
$in
methodpublicsetTranslateHTML(  $translate ) : void

Sets the drectory where to look for the files to use for token replacement

Parameters
Name Type Description
$translate
methodpublicskip( int $n ) : void
inherited

Move stream position relative to current pos.

Inherited from: \FilterReader::skip()\BaseFilterReader::skip()\BaseParamFilterReader::skip()
Parameters
Name Type Description
$n int
Documentation was generated by DocBlox 0.18.1.