2017 © Pedro Peláez
 

laravel petcreator

otto test

image

zelindm/petcreator

otto test

  • Thursday, October 26, 2017
  • by zelindm
  • Repository
  • 1 Watchers
  • 0 Stars
  • 10 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Тестовый плагин laravel 5.4

Установка

composer require zelindm/petcreator, (*1)

Подключить сервис-провайдер и фасад в файле app.php, (*2)

'providers' => [
    ...
    Zelindm\PetCreator\PetCreatorServiceProvider::class,
    ...
],

'aliases' => [
    ...
    'PetCreator'             => Zelindm\PetCreator\Facades\PetCreatorFacade::class,
    ...
]

Задание

Для Laravel 5.4 написать сервис, отдельным модулем, который возможно проинсталлировать через composer из локальной директории в vendor из дериктории ../vendor/objects, (*3)

При публикации сервиса через artisan vendor:publish в дериктории конфигураций laravel должен создаться конфиг objects.php, (*4)

Сервис должен быть доступен через алиас "Objects" фасада сервиса Сервис имеет метод make - возвращающий объекты типа класса из конфига objects.php, (*5)

В конфиг objects.php будут вноситься различные значения '{Наименование}'' => [class => '{Класс}', age => {Возраст}], например 'Dog' => ['class' => \Examples\Dogs::class, 'age' => 7 ], 'Cat' => ['class' => \Examples\Cats::class, 'age' => 3 ], где все классы обязаны иметь методы age() возвращающие соответствующее значение из age - конфига в соответствии с классом, и class() возвращающие строку с наименованием класса объекта в котором вызван, (*6)

Сервис не может создать объект, у класса которого отсутствуют обязательные методы. Если запросить не существующий в конфиге класс, должно быть брошено исключение класса \Examples\ObjectsMakeException::class, (*7)

Тесты в php artisan tinker:, (*8)

$dog = Objects::make('Dog'); \$dog объект класса \Examples\Dogs $dog->age(); \Должен вернуть 7 Objects::make('Cat')->age(); \Должен вернуть 3 Objects::make('Cat')->class(); \Должен вернуть (String) '\Examples\Cats', (*9)

Objects::make('Human'); // ObjectsMakeException, (*10)

The Versions

26/10 2017

dev-master

9999999-dev

otto test

  Sources   Download

MIT

by Dmitry Zelinsky