You are here

Fileloader.php in Zircon Profile 8

File

vendor/phpunit/phpunit/src/Util/Fileloader.php
View source
<?php

/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Utility methods to load PHP sourcefiles.
 *
 * @since Class available since Release 2.3.0
 */
class PHPUnit_Util_Fileloader {

  /**
   * Checks if a PHP sourcefile is readable.
   * The sourcefile is loaded through the load() method.
   *
   * @param  string                      $filename
   * @return string
   * @throws PHPUnit_Framework_Exception
   */
  public static function checkAndLoad($filename) {
    $includePathFilename = stream_resolve_include_path($filename);
    if (!$includePathFilename || !is_readable($includePathFilename)) {
      throw new PHPUnit_Framework_Exception(sprintf('Cannot open file "%s".' . "\n", $filename));
    }
    self::load($includePathFilename);
    return $includePathFilename;
  }

  /**
   * Loads a PHP sourcefile.
   *
   * @param  string $filename
   * @return mixed
   * @since  Method available since Release 3.0.0
   */
  public static function load($filename) {
    $oldVariableNames = array_keys(get_defined_vars());
    include_once $filename;
    $newVariables = get_defined_vars();
    $newVariableNames = array_diff(array_keys($newVariables), $oldVariableNames);
    foreach ($newVariableNames as $variableName) {
      if ($variableName != 'oldVariableNames') {
        $GLOBALS[$variableName] = $newVariables[$variableName];
      }
    }
    return $filename;
  }

}

Classes

Namesort descending Description
PHPUnit_Util_Fileloader Utility methods to load PHP sourcefiles.