Лучший способ включить файл в несколько файлов в PHP (для наследования) - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь написать простой PHP MVC фреймворк для игры. Прямо сейчас у меня есть некоторые абстрактные классы, определенные в определенном файле (модель, представление, контроллер), которые будут «расширены» другими классами, которые я создаю. Например:

public my_specific_controller extends controller {
    // some stuff
}

Однако, если я хочу сделать это, мне нужно включать «основной» php-файл во все абстрактные классы каждый раз, когда я хочу создать экземпляр этого класса. Это можно обойти? Есть ли способ сделать это очень эффективным и не смущаться тем фактом, что я включаю этот файл снова и снова. Я новичок в этой части PHP (привык делать простые вещи и работать в существующих рамках).

1 Ответ

2 голосов
/ 27 марта 2012

Однако, если я хочу сделать это, мне нужно включать «основной» php-файл со всеми абстрактными классами каждый раз, когда я хочу создать экземпляр этого класса.

Вам нужно include файл родительского класса в файле, где вы объявляете ваш класс, а не там, где вы его создаете.Например:

controller.php:

abstract class Controller {
   ...
}

specific_controller.php;

require_once 'controller.php';

class SpecificController extends Controller {
    ...
}

index.php:

require_once 'specific_controller.php'

$controller = new SpecificController;

Автозагрузка также может помочь уменьшить операторы require.

...