12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace Goodquestiondev;
- use Illuminate\Support\Str;
- class Resource
- {
- /**
- * The default actions for a resourceful controller.
- *
- * @var array
- */
- public $resourceDefaults = ['index', 'create', 'store', 'show', 'edit', 'update', 'destroy'];
-
- /**
- * The list of possible uris
- *
- * @var array
- */
- public $uriList = [];
- /**
- * Create a new resource registrar instance.
- *
- * @param string $type
- * @param string $uri
- * @return void
- */
- public function __construct(string $uri)
- {
- $this->uri = $uri;
- $this->setUriList($uri);
- }
- /**
- * Get Possible Uris
- *
- * @param string $path The request path
- *
- * @return void
- */
- public function setUriList($uri)
- {
- $parts = explode(".", $uri);
-
- if (count($parts) == 1) {
- $singular = Str::singular($parts[0]);
- $this->uriList[] = "{$parts[0]}";
- $this->uriList[] = "{$parts[0]}/{{$singular}}";
- $this->uriList[] = "{$parts[0]}/create";
- $this->uriList[] = "{$parts[0]}/{{$singular}}/edit";
- }
- if (count($parts) == 2) {
- $singularOne = Str::singular($parts[0]);
- $singularTwo = Str::singular($parts[1]);
- $this->uriList[] = "{$parts[0]}";
- $this->uriList[] = "{$parts[0]}/{{$singularOne}}/{$parts[1]}";
- $this->uriList[] = "{$parts[0]}/{{$singularOne}}/{$parts[1]}/create";
- $this->uriList[] = "{$parts[1]}/{{$singularTwo}}";
- $this->uriList[] = "{$parts[1]}/{{$singularTwo}}/edit";
- }
- }
- /**
- * Get Possible Uris
- *
- * @param string $path The request path
- *
- * @return void
- */
- public function handleRequest($verb, $path, $uriInfo, $content)
- {
- $route = Route::getInstance();
- $route->resources[$this->uri];
- }
- }
|