PHP code example of ngodingskuyy / laravel-module-generator

1. Go to this page and download the library: Download ngodingskuyy/laravel-module-generator 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/ */

    

ngodingskuyy / laravel-module-generator example snippets


// Auto-load module routes
if (file_exists(__DIR__ . '/modules.php')) {
    



use App\Http\Controllers\ProductController;
use Illuminate\Support\Facades\Route;

Route::middleware(['auth', 'verified'])->group(function () {
    Route::resource('products', ProductController::class);
    Route::get('products/{product}/history', [ProductController::class, 'history'])->name('products.history');
});

// tests/Feature/{Name}Test.php
class ProductTest extends TestCase
{
    /** @test */
    public function it_can_list_products() { /* ... */ }
    
    /** @test */  
    public function it_can_create_product() { /* ... */ }
    
    /** @test */
    public function it_can_update_product() { /* ... */ }
    
    /** @test */
    public function it_can_delete_product() { /* ... */ }
}
bash
php artisan module:create User --api

app/
├── Http/
│   ├── Controllers/
│   │   └── API/
│   │       └── UserController.php  # API Controller
│   └── Requests/
│       ├── StoreUserRequest.php
│       └── UpdateUserRequest.php
└── Models/
    └── User.php
routes/
└── Modules/
    └── Users/
        └── api.php  # API routes
bash
php artisan module:create User --with=factory,policy,observer,enum,test
bash
php artisan module:create User --force
bash
# 1. Create loader files only
php artisan module:setup

# 2. Then manually add to routes/web.php:
# 
bash
php artisan module:create Product

# Output:
# ⚠️  Untuk mengaktifkan auto-loading web modules, pilih salah satu:
#    1. Otomatis install:
#       php artisan module:install
#
#    2. Manual install:
#       Di routes/web.php:
#       

routes/
├── web.php              # Contains:  __DIR__ . '/api-modules.php';
├── modules.php          # Auto-loads all web.php from Modules/
├── api-modules.php      # Auto-loads all api.php from Modules/
└── Modules/
    └── Products/
        ├── web.php      # Web routes with auth middleware
        └── api.php      # API routes with auth:sanctum middleware
bash
# Models
app/Models/{Name}.php

# Controllers  
app/Http/Controllers/{Name}Controller.php

# Requests
app/Http/Requests/{Name}/Store{Name}Request.php
app/Http/Requests/{Name}/Update{Name}Request.php

# Vue Components
resources/js/Pages/{Name}/Index.vue
resources/js/Pages/{Name}/Create.vue
resources/js/Pages/{Name}/Edit.vue
resources/js/Pages/{Name}/Show.vue

# Database
database/migrations/{timestamp}_create_{name}_table.php

# Routes
routes/{name}.php

# Seeders
database/seeders/{Name}PermissionSeeder.php
bash
routes/modules.php    # Main modules loader file
bash
# Create modules loader
php artisan setup:modules-loader

# Force overwrite existing file
php artisan setup:modules-loader --force
bash
# Install modules loader into Laravel routing
php artisan install:modules-loader

# Force reinstall even if already present
php artisan install:modules-loader --force
bash
routes/
├── web.php                 # Main Laravel routes (── modules/               # Your modular routes directory
    ├── products.php       # Product feature routes
    ├── users.php          # User feature routes
    ├── admin/             # Admin module subdirectory
    │   ├── dashboard.php  # Admin dashboard routes
    │   └── reports.php    # Admin reports routes
    └── api/               # API module subdirectory
        ├── v1.php         # API v1 routes
        └── v2.php         # API v2 routes
bash
# Solution: Check modules.php exists and is 
bash
# Check if commands are registered
php artisan list | grep "module:create\|module:delete\|setup:modules\|install:modules"

# Verify file generation
php artisan module:create TestFeature --force
ls -la app/Models/TestFeature.php
php artisan module:delete TestFeature --force
bash
   # Ensure PHP 8.2+ is installed
   php -v
   
bash
   composer dump-autoload
   php artisan config:clear
   php artisan cache:clear