25 lines
510 B
PHP
25 lines
510 B
PHP
<?php
|
|
|
|
namespace App\Fileshare\Data;
|
|
|
|
use Spatie\LaravelData\Data;
|
|
|
|
class ResourceData extends Data
|
|
{
|
|
|
|
public function __construct(public string $name, public string $path, public string $parent)
|
|
{
|
|
}
|
|
|
|
public static function fromString(string $path): self
|
|
{
|
|
$dir = '/' . trim($path, '\\/');
|
|
|
|
return self::from([
|
|
'path' => $dir,
|
|
'name' => pathinfo($dir, PATHINFO_BASENAME),
|
|
'parent' => pathinfo($dir, PATHINFO_DIRNAME),
|
|
]);
|
|
}
|
|
}
|