2015-10-24 3 views
1

У меня есть 2 класса, каждый из которых имеет 2 метода. Также у меня есть некоторые постоянные данные между всеми методами всех классов.Как реализовать наследование с использованием автозагрузчика композитора?

Таким образом, я использовал класс Отца, содержащий эти постоянные данные, а затем я расширил другие классы класса Отца (для доступа к постоянным данным во всех методах всех классов).

Вот моя структура: github demo

// c:\xampp\htdocs\myweb\classes 

// ---------------------------------------------------- Father.php 
    class Father{ 
    protected $arr1 = array("there is some data in here"); 
    protected $arr2 = array("there is some data in here"); 
    protected $arr3 = array("there is some data in here"); 
    } 


// ---------------------------------------------------- Autoloader.php 
    function my_autoloader($class) { 
     require_once($class.".php"); 
    } 
    spl_autoload_register('my_autoloader'); 


// ---------------------------------------------------- Child1.php 
    class Child1 extends Father{ 
    public function func1(){// using of those array in this method} 
    public function func2(){// using of those array in this method} 
    } 



// ---------------------------------------------------- Child2.php 
    class Child2 extends Father{ 
    public function func1(){// using of those array in this method} 
    public function func2(){// using of those array in this method} 
    } 

Теперь я хочу знать, как я могу реализовать свой код, используя композитор автозагрузчика?

+0

Вы хотите документацию [psr-0/4] (http://www.php-fig.org/psr/psr-4/)? – Federkun

+0

@Federico Я хочу использовать композитора. – Shafizadeh

+0

Я не понимаю, вы хотите использовать автозагрузчик композитора? Или что? – Federkun

ответ

3

Реальный вопрос: «Как использовать композитора?»

https://www.codementor.io/php/tutorial/composer-install-php-dependency-manager

Итак, когда вы бежали через это, с учетом текущего проекта в вашем вопросе:

  • Вы бы принять автозагрузчика из, потому что все будут обрабатываться файл, который будет создан для вас композитором. Фактически, если у вас есть все ваши php-файлы в настоящее время в одном каталоге, вам не нужен ваш автозагрузчик.

  • У вас будет include автозагрузчик композитора, который создается в файле начальной загрузки, который загружается на каждую страницу, запущенную в вашем проекте.

  • Вы должны дать каждому классу свой собственный файл, как вы это сделали. Это часть соблюдения psr. Вы установили бы пространство имен с присоединением к psr-4.

  • Если у вас старый проект устаревшего проекта, не было никакой надежды переименовать каждый класс в соответствие с psr, вы бы полностью сгенерировали карту классов, которая будет работать для нескольких классов в одном файле. Однако использование стандарта наименования psr является оптимальным с самого начала в большинстве случаев.

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

  • Нет связанных вопросов^_^