Как создать разделенное приложение Laravel только с пакетами композитора - PullRequest
0 голосов
/ 23 мая 2019

Как можно было бы создать разобщенное приложение Laravel только с пакетами Composer?

Как бы вы реализовали двусторонние отношения, когда требуемые модели находятся в разных пакетах?

Как бы вы протестировали функции Laravel (например, Eloquent), которые пакет использует изолированно?

Как бы вы относились к представлениям, которые необходимо внедрить из одного компонента в другой, вы бы использовали систему ловушек?

Как бы вы относились к ресурсам, таким как js, css и images?

Я уже пытался сделать что-то подобное, но без пакетов я сделал что-то вроде этого:

/app
    /Modules
        /Module
            /Database
                /Migrations
                /Seeds
                ModelFactory.php
            /Http
                /Controllers
                /Routes
                    web.php
                    api.php
            /Lang
                /en
            /Models
            /Views
            config.php

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

Изменение отношений модели без редактирования кода внутри этого модуля было сделано с помощью https://github.com/greabock/tentacles

Внедрение представлений из одного модуля в другой осуществлялось с помощью ловушек, которые перебирали бы представления модулей и проверяли, было ли предоставлено представление с соответствующим именем, и включали его, если это так.

...