This document provides an overview of the Laravel application skeleton repository at https://github.com/laravel/laravel. This is a Laravel 12.x skeleton application that serves as a starting point for web application development.
The repository implements a standard Laravel application structure with dual entry points for HTTP and CLI requests, comprehensive configuration management, modern frontend tooling, and automated testing infrastructure.
For detailed information about specific subsystems, refer to:
The Laravel skeleton provides two entry points that bootstrap the same Illuminate\Foundation\Application
instance through different request handlers.
Both entry points define LARAVEL_START
constant and require the same bootstrap/app.php
file, ensuring consistent application initialization regardless of access method.
Sources: public/index.php6-20 artisan7-16
The application requires specific PHP and framework versions with development tooling:
Component | Version | Purpose |
---|---|---|
php | ^8.2 | Runtime environment |
laravel/framework | ^12.0 | Core framework |
laravel/tinker | ^2.10.1 | REPL interface |
phpunit/phpunit | ^11.5.3 | Testing framework |
laravel/pint | ^1.24 | Code style fixer |
laravel/sail | ^1.41 | Docker development environment |
Sources: composer.json8-21
The composer.json
file defines PSR-4 autoloading mappings that connect PHP namespaces to directory structures:
This autoloading configuration enables Laravel's service container and dependency injection to resolve classes automatically without manual require
statements.
Sources: composer.json22-33 app/Models/User.php3 tests/TestCase.php3
The application separates production and development dependencies through require
and require-dev
sections:
Development dependencies are excluded from production deployments but provide essential tooling for testing, code formatting, and local development.
Sources: composer.json8-21
The composer.json
defines scripts that automate common development tasks and project setup:
The dev
script uses npx concurrently
to run multiple development services simultaneously with color-coded output for easier monitoring.
Sources: composer.json34-57
The application uses PHPUnit with environment-specific configuration for isolated testing:
The test environment uses in-memory SQLite and array-based drivers to ensure fast, isolated test execution without external dependencies.
Sources: phpunit.xml4-33
The Tests\TestCase
extends Laravel's base test case to provide foundation testing capabilities:
Sources: tests/TestCase.php5-10
The repository includes automated testing via GitHub Actions with multi-version PHP support:
The workflow runs on Ubuntu with required PHP extensions and uses the same test command as local development: php artisan test
.
Sources: .github/workflows/tests.yml1-48
The application includes a foundational User
model that demonstrates Laravel's Eloquent ORM patterns and authentication system integration:
The User
model includes password hashing through the hashed
cast and email verification timestamp handling through the datetime
cast for email_verified_at
.
Sources: app/Models/User.php10-48
This Laravel application provides a robust foundation for web development with modern PHP practices, comprehensive testing infrastructure, and automated deployment pipelines. The architecture supports both traditional web requests and command-line operations through a unified application bootstrap process.
Refresh this wiki