### Classes, interfaces and traits

# Parameterizable¶

Parameterizable objects take genric key value pairs.

« More »

# AbstractFileSet¶

The FileSet class provides methods and properties for accessing and managing filesets. It extends ProjectComponent and thus inherits all methods and properties (not explicitly declared). See ProjectComponent for further detail.

TODO: - merge this with patternsets: FileSet extends PatternSet !!! requires additional mods to the parsing algo [HL] .... not sure if that really makes so much sense. I think that perhaps they should use common utility class if there really is that much shared functionality
« More »

# Commandline¶

Commandline objects help handling command lines specifying processes to execute.

The class can be used to define a command line as nested elements or as a helper to define a command line by an application. <p> <code> &lt;someelement&gt;<br> &nbsp;&nbsp;&lt;acommandline executable="/executable/to/run"&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&lt;argument value="argument 1" /&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&lt;argument line="argument_1 argument_2 argument_3" /&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&lt;argument value="argument 4" /&gt;<br> &nbsp;&nbsp;&lt;/acommandline&gt;<br> &lt;/someelement&gt;<br> </code> The element <code>someelement</code> must provide a method <code>createAcommandline</code> which returns an instance of this class.
« More »

# CommandlineArgument¶

"Inner" class used for nested xml command line definitions.

« More »

# CommandlineMarker¶

Class to keep track of the position of an Argument.

<p>This class is there to support the srcfile and targetfile elements of &lt;execon&gt; and &lt;transform&gt; - don't know whether there might be additional use cases.</p> --SB
« More »

# DataType¶

Base class for those classes that can appear inside the build file as stand alone data types.

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# Description¶

Description is used to provide a project-wide description element (that is, a description that applies to a buildfile as a whole).

If present, the &lt;description&gt; element is printed out before the target descriptions. Description has no attributes, only text. There can only be one project description per project. A second description element will overwrite the first.
« More »

# DirSet¶

Subclass as hint for supporting tasks that the included directories instead of files should be used.

TODO: - merge this with patternsets: FileSet extends PatternSet !!! requires additional mods to the parsing algo [HL] .... not sure if that really makes so much sense. I think that perhaps they should use common utility class if there really is that much shared functionality
« More »

# Excludes¶

Datatype which handles excluded files, classes and methods.

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# ExcludesNameEntry¶

Class for holding nested excludes elements (file, class, method).

« More »

# FileList¶

FileList represents an explicitly named list of files. FileLists are useful when you want to capture a list of files regardless of whether they currently exist.

<filelist id="docfiles" dir="${phing.docs.dir}" files="chapters/Installation.html,chapters/Setup.html"/> OR <filelist dir="${doc.src.dir}" listfile="${phing.docs.dir}/PhingGuide.book"/> (or a mixture of files="" and listfile="" can be used)
« More »

# FileSet¶

Moved out of MatchingTask to make it a standalone object that could be referenced (by scripts for example).

TODO: - merge this with patternsets: FileSet extends PatternSet !!! requires additional mods to the parsing algo [HL] .... not sure if that really makes so much sense. I think that perhaps they should use common utility class if there really is that much shared functionality
« More »

# FilterChain¶

FilterChain may contain a chained set of filter readers.

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# IterableFileSet¶

FileSet adapter to SPL's Iterator.

TODO: - merge this with patternsets: FileSet extends PatternSet !!! requires additional mods to the parsing algo [HL] .... not sure if that really makes so much sense. I think that perhaps they should use common utility class if there really is that much shared functionality
« More »

# Mapper¶

Filename Mapper maps source file name(s) to target file name(s).

Built-in mappers can be accessed by specifying they "type" attribute: <code> <mapper type="glob" from="*.php" to="*.php.bak"/> </code> Custom mappers can be specified by providing a dot-path to a include_path-relative class: <code> <mapper classname="myapp.mappers.DevToProdMapper" from="*.php" to="*.php"/> <!-- maps all PHP files from development server to production server, for example --> </code>
« More »

# Parameter¶

A parameter is composed of a name, type and value. Nested Parameters are also possible, but the using task/type has to support them

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# Path¶

This object represents a path as used by include_path or PATH environment variable.

This class has been adopted from the Java Ant equivalent. The ability have path structures in Phing is important; however, because of how PHP classes interact the ability to specify CLASSPATHs makes less sense than Java.Rather than providing CLASSPATH for any tasks that take classes as parameters, perhaps a better solution in PHP is to have an IncludePath task, which prepends paths to PHP's include_path INI variable. This gets around the problem that simply using a path to load the initial PHP class is not enough (in most cases the loaded class may assume that it is on the global PHP include_path, and will try to load dependent classes accordingly). The other option is to provide a way for this class to add paths to the include path, if desired -- or to create an IncludePath subclass. Once added, though, when would a path be removed from the include path? <p> <code> &lt;sometask&gt;<br> &nbsp;&nbsp;&lt;somepath&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement location="/path/to/file" /&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement path="/path/to/class2;/path/to/class3" /&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement location="/path/to/file3" /&gt;<br> &nbsp;&nbsp;&lt;/somepath&gt;<br> &lt;/sometask&gt;<br> </code> <p> The object implemention <code>sometask</code> must provide a method called <code>createSomepath</code> which returns an instance of <code>Path</code>. Nested path definitions are handled by the Path object and must be labeled <code>pathelement</code>.<p> The path element takes a parameter <code>path</code> which will be parsed and split into single elements. It will usually be used to define a path from an environment variable.
« More »

# PathElement¶

Helper class, holds the nested <code>&lt;pathelement&gt;</code> values.

« More »

# PatternSet¶

The patternset storage component. Carries all necessary data and methods for the patternset stuff.

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# PatternSetNameEntry¶

"Internal" class for holding an include/exclude pattern.

« More »

# PearPackageFileSet¶

Fileset that contains files of an installed PEAR package.

It can be used to package up PEAR package dependencies in own release files (zip, tgz, phar).
« More »

# PhingFilterReader¶

A PhingFilterReader is a wrapper class that encloses the className and configuration of a Configurable FilterReader.

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# PropertyValue¶

Class to hold a property value Class only required to make it possible to add a property as reference

« More »

# Reference¶

Class to hold a reference to another object in the project.

« More »

# RegularExpression¶

A regular expression datatype. Keeps an instance of the compiled expression for speed purposes. This compiled expression is lazily evaluated (it is compiled the first time it is needed). The syntax is the dependent on which regular expression type you are using.

This class handles the common description attribute and provides a default implementation for reference handling and checking for circular references that is appropriate for types that can not be nested inside elements of the same type (i.e. patternset but not path)
« More »

# TokenSource¶

A parameter is composed of a name, type and value.

Example of usage: <replacetokens> <tokensource classname="phing.filters.util.IniFileTokenReader"> <!-- all params for the TokenReader here --> <param name="file" value="tokens.ini" /> </tokensource> </replacetokens> or: <filterreader classname="phing.filters.ReplaceTokens"> <param type="tokensource> <param name="classname" value="phing.filters.util.IniFileTokenReader" /> <param name="file" value="tokens.ini" /> </param> </filterreader>
« More »