quintenmbusiness / laravel-analyzer
Scan a Laravel project and collect structured metadata about models, tables, columns, and relations.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/quintenmbusiness/laravel-analyzer
Requires
- php: ^8.1
- illuminate/support: ^11.0 | ^12.0
- laravel/framework: ^11.0 | ^12.0
This package is auto-updated.
Last update: 2026-01-20 21:57:21 UTC
README
A lightweight tool to scan a Laravel application and retrieve detailed, structured information about your laravel project for complex tasks.
Usage is super simple:
use quintenmbusiness\LaravelAnalyzer\LaravelAnalyzer; $models = (new LaravelAnalyzer())->modelResolver->getModels(); $controllers = (new LaravelAnalyzer())->controllerResolver->getControllers();
Methods (inline expandable outputs)
getModels()Click to expand
Collection [
ModelObject {
name: "User",
path: "App\\Models\\User",
table: TableObject {
name: "users",
columns: [
ColumnObject { name: "id", type: "number", rawType: "bigint(20) unsigned", nullable: false, default: null },
ColumnObject { name: "name", type: "string", rawType: "varchar(255)", nullable: false, default: null },
ColumnObject { name: "email", type: "string", rawType: "varchar(255)", nullable: false, default: null },
ColumnObject { name: "email_verified_at", type: "datetime", rawType: "timestamp NULL", nullable: true, default: null },
ColumnObject { name: "password", type: "string", rawType: "varchar(255)", nullable: false, default: null },
ColumnObject { name: "remember_token", type: "string", rawType: "varchar(100)", nullable: true, default: null },
ColumnObject { name: "created_at", type: "datetime", rawType: "timestamp NULL", nullable: true, default: null },
ColumnObject { name: "updated_at", type: "datetime", rawType: "timestamp NULL", nullable: true, default: null },
]
},
relations: [
ModelRelationObject { method: "notifications", returns: "MorphMany", relatedTable: "Illuminate\\Notifications\\DatabaseNotification" },
]
}
]
getControllers()
Click to expand
Collection [
ControllerObject {
name: "UserController",
path: "App\\Http\\Controllers\\UserController",
methods: [
ControllerMethodObject {
methods: ["POST"],
action: "users.update",
actionName: "App\\Http\\Controllers\\UserController@update",
prefix: "",
url: "users/{user}",
routeParameters: [
RouteParamObject { name: "user", optional: false, pattern: null, default: null },
],
methodParameters: [
MethodParamObject { name: "request", hasType: true, type: "Illuminate\\Http\\Request", isOptional: false, default: null },
MethodParamObject { name: "product", hasType: true, type: "App\\Models\\User", isOptional: false, default: null },
],
middleware: [
"web"
]
},
]
}
]