Merge pull request #8334 from nextcloud/lib-strict-typing

Make lib/autoloader.php strictly typed and p…
This commit is contained in:
Roeland Jago Douma 2018-02-19 10:50:38 +01:00 committed by GitHub
commit bffdcd76f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 6 deletions

View File

@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@ -63,7 +64,7 @@ class Autoloader {
*
* @param string $root
*/
public function addValidRoot($root) {
public function addValidRoot(string $root) {
$root = stream_resolve_include_path($root);
$this->validRoots[$root] = true;
}
@ -86,12 +87,12 @@ class Autoloader {
* get the possible paths for a class
*
* @param string $class
* @return array|bool an array of possible paths or false if the class is not part of ownCloud
* @return array an array of possible paths
*/
public function findClass($class) {
public function findClass(string $class): array {
$class = trim($class, '\\');
$paths = array();
$paths = [];
if ($this->useGlobalClassPath && array_key_exists($class, \OC::$CLASSPATH)) {
$paths[] = \OC::$CLASSPATH[$class];
/**
@ -124,8 +125,9 @@ class Autoloader {
/**
* @param string $fullPath
* @return bool
* @throws AutoloadNotAllowedException
*/
protected function isValidPath($fullPath) {
protected function isValidPath(string $fullPath): bool {
foreach ($this->validRoots as $root => $true) {
if (substr($fullPath, 0, strlen($root) + 1) === $root . '/') {
return true;
@ -139,8 +141,9 @@ class Autoloader {
*
* @param string $class
* @return bool
* @throws AutoloadNotAllowedException
*/
public function load($class) {
public function load(string $class): bool {
$pathsToRequire = null;
if ($this->memoryCache) {
$pathsToRequire = $this->memoryCache->get($class);