PHP code example of pablito / structure

1. Go to this page and download the library: Download pablito/structure library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

pablito / structure example snippets


'providers' => [
    ...
    Structure\Basic\StructureServiceProvider::class,
],

return [  
  /* Default Paths */
  'paths' => [
      'contracts'    => 'App\Contracts\\',
      'models'       => 'App\Models\\',
      'observers'    => 'App\Observers',
      'repositories' => 'App\Repositories\\',
      'services'     => 'App\Services\\',
      'jobs'         => 'App\Jobs\\',
      'controller'   => 'App\Http\Controllers\API\\',
      'requests'     => 'App\Http\Requests\API\\',
      'resources'    => 'App\Http\Resources\\',
  ],  
  
  /* Component Options */
  'replace_all'        => false,

  /* Your services here */
  'services' => [
  ],

  /* Your routes structure here (3 levels) */
  'routes' => [
    ['prefix' => '', 'middleware' => ['cors']], // level 1
    ['prefix' => '', 'middleware' => []], // level 2
    ['prefix' => '', 'middleware' => []] // level 3
  ],

  /* Example Syntax */
  'routes_example' => [
    ['prefix' => 'level-name1', 'middleware' => ['cors']], // level 1
    ['prefix' => 'level-name2', 'middleware' => []], // level 2
    ['prefix' => 'level-name3', 'middleware' => []] // level 3
  ],

  /* Example Syntax */
  'services_example' => [
    'services_name' => [
      'fillables'        => ["param1", "param2"],
      'fieldSearcheable' => ["param1" => "like"],
      'resources'        => ['param1', 'param2', 'param3'],
      'routes'           => ['index', 'store', 'update'],
      'rules_store'      => [],
      'rules_update'     => [],
      'observer'         => FALSE
    ]
  ]
];
 
  'services' => [
    'roles' => [
      'fillables'         => ["name", "country_name"],
      'fieldSearcheable'  => ["name" => "like", "country_name"],
      'resources'         => ['id', 'name', 'country_name'],
      'routes'            => ['index'],
      'rules_store'       => [],
      'rules_update'      => [],
      'observer'          => FALSE
    ]
  ]

    namespace App\Http\Controllers\API;
    use App\Http\Controllers\Controller;
    use App\Http\Resources\RoleResource;
    use App\Contracts\RoleInterface;  
    
    class RoleController extends Controller
    {
        public function __construct( RoleInterface $role ){
            $this->role = $role;
        }

        public function index(){
            return RoleResource::collection( $this->role->index() );
        }
    }

'services' => [
    'service_name' => [
      'fillables'        => ["param1", "param2"],
      'fieldSearcheable' => ["param1" => "like"],
      'resources'        => ['param1', 'param2', 'param3'],
      'routes'           => ['index', 'store', 'update'],
      'rules_store'      => [],
      'rules_update'     => [],
      'observer'         => FALSE
    ]
  ]
shell
php artisan build:structure