2015-06-15 2 views
-1

Позволяет говорит, что я 4 файла, 3 из них, содержащих каждый класс:Если родительский класс должен быть включен в дочерний класс? PHP

animal.php

class animal 
{} 

cat.php

class cat extends animal 
{} 

dog.php

class dog extends animal 
{} 

main.php

$cat = new cat(); 
$cat->doSomething(); 
$dog = new dog(); 
$dog->runAroundTryToCatchTail(); 

мне было интересно, если это было лучше практика, чтобы включить или требовать animal.php в каждом своем дочернем классе или в main.php?

Другими словами, это лучше:

main.php

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

ИЛИ

dog.php

require_once('animal.php'); 
class dog extends animal 
{} 

cat.php

require_once('animal.php'); 
class dog extends animal 
{} 

UPDATE

На самом деле то, что я, что знать:

Есть ли SOLID основной или ГРАСП или любой другой ООП pratice следует учитывать при выборе где я должен включать файлы классов?

+3

Лучшая практика - использовать автозагрузчик –

+0

Также вы не должны использовать [автозагрузка] (http://php.net/manual/en/language.oop5.autoload.php). – Styphon

+0

@MarkBaker должен был подумать об этом ... черт возьми, я глуп. – Sebastien

ответ

1

Лучшей практикой является использование автозагрузчика для загрузки необходимых классов и соблюдения стандарта PSR-0.

Подробнее о PSR-0

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

http://www.php-fig.org/psr/psr-0/

Подробнее о Autoloader

http://php.net/manual/en/language.oop5.autoload.php

Как выполнить автозагрузку файла, следующего за PSR-0?

http://www.sitepoint.com/autoloading-and-the-psr-0-standard/


Update PSR-0 осуждается согласно

http://www.php-fig.org/psr/psr-0/

Вы можете использовать PSR-4 в качестве нового стандарта автозагрузкой

http://www.php-fig.org/psr/psr-4/

+0

Спасибо, что мне нужно! – Sebastien

+0

@Sebastien я рад помочь вам –

+0

@Sebastien я обновил ответ, пожалуйста, просмотрите, если он поможет вам отметить как принятый :) было бы полезно –

Смежные вопросы