php和自己的框架如何在后台工作?

php和自己的框架如何在后台工作?,php,frameworks,Php,Frameworks,我是网络编程新手。我擅长桌面上的c#net平台。我试图理解php和php框架,但有点困惑。我知道一个php文件可以使用require_once函数将文件中的类导入到另一个php文件中。但是框架并不使用require_once函数导入自己的类。我想他们做了一些我不理解的不同的事情。有人能给我解释一下吗 大多数框架使用一种称为“自动加载”的技术来自动解析并包含所需的依赖项 “Autoloader”只是一个函数,在引用未知类时由PHP调用。该“自动加载程序”可以按程序创建类,也可以根据文件名从外部文件

我是网络编程新手。我擅长桌面上的c#net平台。我试图理解php和php框架,但有点困惑。我知道一个php文件可以使用require_once函数将文件中的类导入到另一个php文件中。但是框架并不使用require_once函数导入自己的类。我想他们做了一些我不理解的不同的事情。有人能给我解释一下吗

大多数框架使用一种称为“自动加载”的技术来自动解析并包含所需的依赖项

“Autoloader”只是一个函数,在引用未知类时由PHP调用。该“自动加载程序”可以按程序创建类,也可以根据文件名从外部文件中包含该类

当前(PHP5.1.2及更高版本)正确的方法是使用。以下是自动加载器的示例:

function autoload_example($className) {
  $normalizedName = strtolower($className);

  if(file_exists('includes/' . $normalizedName . '.inc')) {
    require_once('includes/' . $normalizedName . '.inc');
  } elseif(file_exists('includes/' . $normalizedName . '.inc')) {
    require_once('includes/' . $normalizedName . '.php');
  } else {
    die('Class ' . $className . ' not found');
  }
}

spl_autoload_register('autoload_example');

$myAwesomeObject = new Awesome();
在上面的示例中,PHP将运行“Autoloader”
Autoloader\u示例
,当它命中类
Awesome
的引用时

“自动加载程序”将首先尝试查找文件
include/awesome.inc
。如果它能找到它,它将包括它

如果没有,它将查找名为
include/awesome.php
的文件。如果它能找到它,它将包括它

如果没有,它将
die()
声明它找不到我的
Awesome