1: <?php
2:
3: namespace LaravelUi5\Core\Traits;
4:
5: use Illuminate\Support\Facades\File;
6:
7: /**
8: * Default implementation for resolving UI5 asset paths within a module.
9: *
10: * Assumes assets are stored under `../resources/ui5/` relative to the implementing class.
11: */
12: trait HasAssetsTrait
13: {
14: public function getAssetPath(string $filename): ?string
15: {
16: $base = (new \ReflectionClass($this))->getFileName();
17: $path = dirname($base) . '/../resources/ui5/' . ltrim($filename, '/');
18: return File::exists($path) ? $path : null;
19: }
20: }
21: