Л
Size: a a a
Л
Л
Л
SP
SP
SP
Л
SP
Л
SP
SP
Л
SP
SP
SP
SP
Л
Л
SP
PublicThing
is something other packages may import and use. It is the public interface of our package. Think about it this way - you want to integrate with a feature to quickly review the available integration option by simply looking at its top-level elements.PublicThing
may have dependencies on things that are one level lower in the hierarchy or first level of other packages:# App\Feature\ItsPublicThing;
namespace App\Feature;
use App\AnotherFeature\ItsPublicThing; // allowed
use App\Feature\Internal\InternalThing; // allowed
use App\AnotherFeature\ItsInternals\InternalThing; // restricted
use App\Feature\Internal\InternalThing\WeNeedToGoDeeper; // highly discouraged, while not restricted