classes/phing/system/io/Win32FileSystem.php

package
phing.system.io

\Win32FileSystem

This is an abstract class for platform specific filesystem implementations you have to implement each method in the platform specific filesystem implementation classes Your local filesytem implementation must extend this class.

You should also use this class as a template to write your local implementation Some native PHP filesystem specific methods are abstracted here as well. Anyway you must always use this methods via a PhingFile object (that by nature uses the *FileSystem drivers to access the real filesystem via this class using natives.

FIXME: - Error handling reduced to min fallthrough runtime exceptions more precise errorhandling is done by the PhingFile class

Extends from
\FileSystem
author
Charlie Killian
author
Hans Lellelid
package
phing.system.io
version
$Revision: 1260 $

Properties

Propertyprotected  $altSlash= ''
Details
Type
Propertyprivate  $driveDirCache= 'array'
static
Default valuearrayDetails
Type
Propertyprotected  $semicolon= ''
Details
Type
Propertyprotected  $slash= ''
Details
Type

Methods

methodpublic  __construct( ) :
methodprotected  _access(  $path ) :
Parameters
Name Type Description
$path
methodpublic  _driveIndex(  $d ) :
private
Parameters
Name Type Description
$d
methodpublic  _getDrive(  $path ) :
Parameters
Name Type Description
$path
methodpublic  _getDriveDirectory(  $drive ) :
private
Parameters
Name Type Description
$drive
methodpublic  _getUserPath( ) :
methodpublic  _nativeListRoots( ) :
methodpublic  compare(  $f1,  $f2 ) :
compares file paths lexicographically
Parameters
Name Type Description
$f1
$f2
methodpublic  fromURIPath(  $strPath ) :
Parameters
Name Type Description
$strPath
methodpublic  getDefaultParent( ) :
methodpublic  getPathSeparator( ) :
methodpublic  getSeparator( ) :
methodpublic  isAbsolute(  $f ) :
Parameters
Name Type Description
$f
methodpublic  isLetter(  $c ) :
Parameters
Name Type Description
$c
methodpublic  isSlash(  $c ) :
Parameters
Name Type Description
$c
methodpublic  listRoots( ) :
methodpublic  lister(  $f ) :
returns the contents of a directory in an array
Parameters
Name Type Description
$f
methodpublic  normalize( string $strPath ) : string
Check that the given pathname is normal. If not, invoke the real normalizer on the part of the pathname that requires normalization.

This way we iterate through the whole pathname string only once.

Parameters
Name Type Description
$strPath string
Returns
Type Description
string
methodpublic  normalizePrefix(  $strPath,  $len,  $sb ) :
A normal Win32 pathname contains no duplicate slashes, except possibly for a UNC prefix, and does not end with a slash. It may be the empty string. Normalized Win32 pathnames have the convenient property that the length of the prefix almost uniquely identifies the type of the path and whether it is absolute or relative:

0 relative to both drive and directory 1 drive-relative (begins with '\') 2 absolute UNC (if first char is '\'), else directory-relative (has form "z:foo") 3 absolute local pathname (begins with "z:\")

Parameters
Name Type Description
$strPath
$len
$sb
methodprotected  normalizer(  $strPath,  $len,  $offset ) :
Normalize the given pathname, whose length is len, starting at the given offset; everything before this offset is already normal.
Parameters
Name Type Description
$strPath
$len
$offset
methodpublic  prefixLength(  $strPath ) :
Parameters
Name Type Description
$strPath
methodpublic  resolve(  $parent,  $child ) :
Parameters
Name Type Description
$parent
$child
methodpublic  resolveFile(  $f ) :
Parameters
Name Type Description
$f
methodpublic  setReadOnly(  $f ) :
Parameters
Name Type Description
$f
methodpublic  slashify(  $p ) :
Parameters
Name Type Description
$p
Documentation was generated by DocBlox 0.13.1.