<?php
/*
* This file is part of the symfony framework.
*
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
/**
* RokCommon_Service_Container_AbstractLoader is the abstract class used by all built-in loaders that are file based.
*
* @package symfony
* @subpackage dependency_injection
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
* @version SVN: $Id: File.php 10831 2013-05-29 19:32:17Z btowles $
*/
abstract class RokCommon_Service_Container_Loader_File extends RokCommon_Service_Container_AbstractLoader
{
protected
$paths = array();
/**
* Constructor.
*
* @param RokCommon_Service_Container_Builder $container A RokCommon_Service_Container_Builder instance
* @param string|array $paths A path or an array of paths where to look for resources
*/
public function __construct(RokCommon_Service_Container_Builder $container = null, $paths = array())
{
parent::__construct($container);
if (!is_array($paths))
{
$paths = array($paths);
}
$this->paths = $paths;
}
/**
* Loads a resource.
*
* A resource is a file or an array of files.
*
* The concrete classes always have access to an array of files
* as this method converts single file argument to an array.
*
* @param mixed $resource The resource path
*/
public function load($resource)
{
if (!is_array($resource))
{
$resource = array($resource);
}
return parent::load($resource);
}
protected function getAbsolutePath($file, $currentPath = null)
{
if (self::isAbsolutePath($file))
{
return $file;
}
else if (null !== $currentPath && file_exists($currentPath.DIRECTORY_SEPARATOR.$file))
{
return $currentPath.DIRECTORY_SEPARATOR.$file;
}
else
{
foreach ($this->paths as $path)
{
if (file_exists($path.DIRECTORY_SEPARATOR.$file))
{
return $path.DIRECTORY_SEPARATOR.$file;
}
}
}
return $file;
}
static protected function isAbsolutePath($file)
{
if ($file[0] == '/' || $file[0] == '\\' ||
(strlen($file) > 3 && ctype_alpha($file[0]) &&
$file[1] == ':' &&
($file[2] == '\\' || $file[2] == '/')
)
)
{
return true;
}
return false;
}
}
Fatal error: Uncaught Error: Class "RokCommon_Service_Container_AbstractLoader" not found in /in/rTtXT:20
Stack trace:
#0 {main}
thrown in /in/rTtXT on line 20
Process exited with code 255.
Output for 7.3.12 - 7.3.33, 7.4.0 - 7.4.33
Fatal error: Uncaught Error: Class 'RokCommon_Service_Container_AbstractLoader' not found in /in/rTtXT:20
Stack trace:
#0 {main}
thrown in /in/rTtXT on line 20
Process exited with code 255.