Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
父类是否应包含在子类中?PHP_Php_Oop - Fatal编程技术网

父类是否应包含在子类中?PHP

父类是否应包含在子类中?PHP,php,oop,Php,Oop,假设我有4个文件,其中3个包含每个类: animal.php class animal {} class cat extends animal {} class dog extends animal {} $cat = new cat(); $cat->doSomething(); $dog = new dog(); $dog->runAroundTryToCatchTail(); require_once('animal.php'); require_once('cat.p

假设我有4个文件,其中3个包含每个类:

animal.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}
cat.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}
dog.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}
main.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}
我想知道在每个子类中或者在main.php中包含或要求animal.php是否是更好的做法

换句话说,它是否更好:

main.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}

dog.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}
cat.php

class animal
{}
class cat extends animal
{}
class dog extends animal
{}
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
require_once('cat.php');
require_once('dog.php');
$cat = new cat();
$cat->doSomething();
$dog = new dog();
$dog->runAroundTryToCatchTail();
require_once('animal.php');
class dog extends animal
{}
require_once('animal.php');
class dog extends animal
{}
更新

事实上,我想知道的是:


<> P>在选择我的类文件时,我是否应该考虑任何实质性的原则或掌握或其他OOP实践?

< P>最佳实践是使用AutoLoad加载所需的类并遵循PSR-0标准。

阅读更多关于PSR-0的信息

了解更多有关自动加载器的信息

如何自动加载PSR-0后面的文件


根据

您可以使用PSR-4作为新的自动加载标准


更好的做法是使用自动加载器。两者都不应该使用。@MarkBaker应该想到这一点。。。该死的,我真蠢。谢谢你,正是我所需要的@塞巴斯蒂安我很乐意帮忙you@Sebastien我已经更新了答案,请审查,如果它确实帮助您标记为接受:)将不胜感激