Integrations

Tinker and IDE Helper

Use short class names in Tinker, and let IDE Helper find the models of every layer. Nothing to configure.

Tinker

Inside php artisan tinker, OSDD resolves layer classes by their short name. Type Order instead of Functional\Orders\Models\Order:

> Order::count()
= 50

> Functional\Orders\Models\Order::count()
= 50

When Tinker starts, OSDD scans the source directory of every layer (src/), adds the layers' root namespaces to tinker.alias, and registers an autoloader that maps each short class name to its full name.

The aliases only exist inside Tinker. Application code keeps its use statements.

When two layers define a class with the same short name, such as Functional\Users\Models\User and Functional\Admin\Models\User, the layer that comes first by name wins. Use the full name to pick the other one.

IDE Helper

barryvdh/laravel-ide-helper generates PHPDoc for your models. It looks for them in ide-helper.model_locations, which defaults to app/.

When php artisan ide-helper:models runs, OSDD adds the source directory of every layer (src/) to ide-helper.model_locations. The locations you configured stay, and duplicates are removed.

php artisan ide-helper:models
# scans the configured locations, then functional/users/src, functional/orders/src, ...

There is nothing to configure. OSDD only touches ide-helper.model_locations when the key exists, that is when IDE Helper is installed.