PhiO: Object-oriented filesystem library for PHP
  • Namespace
  • Class
  • Tree
  • Todo

Namespaces

  • amekusa
    • phio
  • PHP

Classes

  • amekusa\phio\Directory
  • amekusa\phio\File
  • amekusa\phio\FilePool
  • amekusa\phio\Filter
  • amekusa\phio\Perms
  • amekusa\phio\RegexFilter
  • amekusa\phio\RegFile

Exceptions

  • amekusa\phio\ErrorException
  • amekusa\phio\IOException
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
<?php namespace amekusa\phio; main::required;

/**
 * @author amekusa <post@amekusa.com>
 */
class FilePool {
    protected static $instance;
    protected $pool = array ();

    /**
     * Returns the instance of This class
     * @return FilePool
     */
    public static function instance() {
        if (!isset(static::$instance)) static::$instance = new static();
        return static::$instance;
    }

    protected function __construct() {
    }

    /**
     * @param string $Path The path of a File object to return
     * @param boolean $ForceNew *(optional)* If `true`, always returns a newly created object
     * @return File
     */
    public function get($Path, $ForceNew = false) {
        if ($ForceNew || !isset($this->pool[$Path]) || !$this->pool[$Path]) {
            $r = File::create($Path);
            $this->pool[$Path] = $r;
            return $r;
        }
        return $this->pool[$Path];
    }

    public function clear() {
        $this->pool = array ();
    }
}
PhiO: Object-oriented filesystem library for PHP API documentation generated by ApiGen