Compare commits

...

6 Commits
v2.0.9 ... 2.0

Author SHA1 Message Date
Fabien Potencier
3527a2b300 updated license year 2013-01-04 17:59:43 +01:00
Fabien Potencier
c393e86a03 [ClassLoader] fixed unbracketed namespaces (closes #5747) 2012-10-27 17:55:46 +02:00
Fabien Potencier
475b92bd71 fixed CS (mainly method signatures) 2012-07-09 14:43:50 +02:00
Włodzimierz Gajda
6329e84c2d [2.0][Component][ClassLoader] cs 2012-04-23 07:37:21 +02:00
marc.weistroff
28bf7c891b Updated LICENSE files copyright 2012-02-22 10:10:37 +01:00
Drak
1c055115cc [ClassLoader] Update PSR-0 reference. 2012-01-11 09:27:00 +05:45
5 changed files with 28 additions and 13 deletions

View File

@@ -17,7 +17,7 @@ namespace Symfony\Component\ClassLoader;
* It is able to load classes that use either:
*
* * The technical interoperability standards for PHP 5.3 namespaces and
* class names (http://groups.google.com/group/php-standards/web/psr-0-final-proposal);
* class names (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md);
*
* * The PEAR naming convention for classes (http://pear.php.net/).
*
@@ -84,6 +84,8 @@ class ApcUniversalClassLoader extends UniversalClassLoader
* Finds a file by class name while caching lookups to APC.
*
* @param string $class A class name to resolve to file
*
* @return string|null The path, if found
*/
public function findFile($class)
{

View File

@@ -18,7 +18,8 @@ namespace Symfony\Component\ClassLoader;
*/
class ClassCollectionLoader
{
static private $loaded;
private static $loaded;
private static $useTokenizer = true;
/**
* Loads a list of classes and caches them in one big file.
@@ -32,7 +33,7 @@ class ClassCollectionLoader
*
* @throws \InvalidArgumentException When class can't be loaded
*/
static public function load($classes, $cacheDir, $name, $autoReload, $adaptive = false, $extension = '.php')
public static function load($classes, $cacheDir, $name, $autoReload, $adaptive = false, $extension = '.php')
{
// each $name can only be loaded once per PHP process
if (isset(self::$loaded[$name])) {
@@ -123,9 +124,13 @@ class ClassCollectionLoader
*
* @return string Namespaces with brackets
*/
static public function fixNamespaceDeclarations($source)
public static function fixNamespaceDeclarations($source)
{
if (!function_exists('token_get_all')) {
if (!function_exists('token_get_all') || !self::$useTokenizer) {
if (preg_match('/namespace(.*?)\s*;/', $source)) {
$source = preg_replace('/namespace(.*?)(\s*);/', "namespace$1$2\n{", $source)."}\n";
}
return $source;
}
@@ -172,12 +177,12 @@ class ClassCollectionLoader
/**
* Writes a cache file.
*
* @param string $file Filename
* @param string $file Filename
* @param string $content Temporary file content
*
* @throws \RuntimeException when a cache file cannot be written
*/
static private function writeCacheFile($file, $content)
private static function writeCacheFile($file, $content)
{
$tmpFile = tempnam(dirname($file), basename($file));
if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) {
@@ -199,7 +204,7 @@ class ClassCollectionLoader
*
* @return string The PHP string with the comments removed
*/
static private function stripComments($source)
private static function stripComments($source)
{
if (!function_exists('token_get_all')) {
return $source;
@@ -219,4 +224,12 @@ class ClassCollectionLoader
return $output;
}
/**
* This method is only useful for testing.
*/
public static function enableTokenizer($bool)
{
self::$useTokenizer = (Boolean) $bool;
}
}

View File

@@ -21,7 +21,7 @@ class DebugUniversalClassLoader extends UniversalClassLoader
/**
* Replaces all regular UniversalClassLoader instances by a DebugUniversalClassLoader ones.
*/
static public function enable()
public static function enable()
{
if (!is_array($functions = spl_autoload_functions())) {
return;

View File

@@ -1,4 +1,4 @@
Copyright (c) 2004-2011 Fabien Potencier
Copyright (c) 2004-2013 Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -17,7 +17,7 @@ namespace Symfony\Component\ClassLoader;
* It is able to load classes that use either:
*
* * The technical interoperability standards for PHP 5.3 namespaces and
* class names (http://groups.google.com/group/php-standards/web/psr-0-final-proposal);
* class names (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md);
*
* * The PEAR naming convention for classes (http://pear.php.net/).
*
@@ -169,8 +169,8 @@ class UniversalClassLoader
/**
* Registers a set of classes using the PEAR naming convention.
*
* @param string $prefix The classes prefix
* @param array|string $paths The location(s) of the classes
* @param string $prefix The classes prefix
* @param array|string $paths The location(s) of the classes
*
* @api
*/