类/ API.class.php
abstract class API
{
stuff.
}
api.php
require_once 'classes/API.class.php';
class MyAPI extends API
{
stuff;
}
$API = new MyAPI();
...但导致“致命错误:无法在D:\ xampp -...重新声明类API”
类/ API.class.php
abstract class API
{
stuff.
}
类/ MyAPI.class.php
class MyAPI extends API
{
stuff;
}
api.php
require_once 'classes/API.class.php';
require_once 'classes/MyAPI.class.php';
$API = new MyAPI();
你能解释一下为什么? 以及如何正确地做到这一点?
答案 0 :(得分:1)
只是一个快速的建议,但请查看Composer为您处理自动加载的能力。这样你就不需要做任何require
陈述。 https://getcomposer.org/doc/04-schema.md#autoload
但是对你原来的问题。这样做的典型方法是从具体类的定义中require_once
抽象类,然后从require_once
开始使用它的具体类。请注意,该路径基于原始调用文档,因此从require_once "API.php";
说/classes/MyApi.php
并从/api.php
调用将无法正常工作,因此请使用require_once __DIR__ . '/API.php';
/classes/MyApi.php
。