php PSR-4类自动加载器#php #class #autoloader

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php PSR-4类自动加载器#php #class #autoloader相关的知识,希望对你有一定的参考价值。

<?php

namespace MyProjectNamespace;

/**
 * PSR-4 class autoloader
 *
 * @param  string $class The fully-qualified class name.
 *
 * @return void
 */
spl_autoload_register(function ($class) {
  $prefix   = __NAMESPACE__ . '\\';
  $base_dir = __DIR__ . '/inc/';

  $len = strlen($prefix);
  
  if (strncmp($prefix, $class, $len) !== 0)
    return;

  $relative_class = substr($class, $len);
  $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';

  if (file_exists($file))
    require $file;
});

以上是关于php PSR-4类自动加载器#php #class #autoloader的主要内容,如果未能解决你的问题,请参考以下文章

如何为我的项目创建 PSR-4 自动加载器?

只需将文件放入PSR-4目录即可加载PHP类

类 Foo\Bar\Baz 位于 ./foo/bar/utility/baz.php 不符合 psr-4 自动加载标准。跳过

PSR-4 没有加载我的项目类

PHP7 学习笔记PHP PSR-4 Autoloader 自动加载

composer+psr-4实现自动加载