Laravel 5 Official Documentation
Free!
With Membership
$7.99
Suggested price

Laravel 5 Official Documentation

Synced daily. A free ebook version of the Laravel 5.x Official Documentation.

About the Book

  • Share this book

  • Categories

    • Software
  • License

About the Editor

Table of Contents

  •  
    • Prologue
    • Getting Started
    • Architecture Concepts
    • The Basics
    • Frontend
    • Security
    • Digging Deeper
    • Database
    • Eloquent ORM
    • Testing
    • Packages
  • Release Notes
    • Versioning Scheme
    • Support Policy
    • Laravel 8
  • Upgrade Guide
    • High Impact Changes
    • Medium Impact Changes
    • Upgrading To 8.0 From 7.x {#upgrade-upgrade-8.0}
  • Contribution Guide
    • Bug Reports
    • Support Questions
    • Core Development Discussion
    • Which Branch?
    • Compiled Assets
    • Security Vulnerabilities
    • Coding Style
    • Code of Conduct
  • Installation
    • Installation
    • Web Server Configuration
  • Configuration
    • Introduction
    • Environment Configuration
    • Accessing Configuration Values
    • Configuration Caching
    • Maintenance Mode
  • Directory Structure
    • Introduction
    • The Root Directory
    • The App Directory
  • Laravel Homestead
    • Introduction
    • Installation & Setup
    • Daily Usage
    • Debugging & Profiling
    • Network Interfaces
    • Extending Homestead
    • Updating Homestead
    • Provider Specific Settings
  • Laravel Valet
    • Introduction
    • Installation
    • Serving Sites
    • Sharing Sites
    • Site Specific Environment Variables
    • Proxying Services
    • Custom Valet Drivers
    • Other Valet Commands
    • Valet Directories & Files
  • Deployment
    • Introduction
    • Server Configuration
    • Optimization
    • Deploying With Forge / Vapor
  • Request Lifecycle
    • Introduction
    • Lifecycle Overview
    • Focus On Service Providers
  • Service Container
    • Introduction
    • Binding
    • Resolving
    • Container Events
    • PSR-11
  • Service Providers
    • Introduction
    • Writing Service Providers
    • Registering Providers
    • Deferred Providers
  • Facades
    • Introduction
    • When To Use Facades
    • How Facades Work
    • Real-Time Facades
    • Facade Class Reference
  • Contracts
    • Introduction
    • When To Use Contracts
    • How To Use Contracts
    • Contract Reference
  • Routing
    • Basic Routing
    • Route Parameters
    • Named Routes
    • Route Groups
    • Route Model Binding
    • Fallback Routes
    • Rate Limiting
    • Form Method Spoofing
    • Accessing The Current Route
    • Cross-Origin Resource Sharing (CORS)
  • HTTP Redirects
    • Creating Redirects
    • Redirecting To Named Routes
    • Redirecting To Controller Actions
    • Redirecting With Flashed Session Data
  • Middleware
    • Introduction
    • Defining Middleware
    • Registering Middleware
    • Middleware Parameters
    • Terminable Middleware
  • CSRF Protection
    • Introduction
    • Excluding URIs From CSRF Protection
    • X-CSRF-TOKEN
    • X-XSRF-TOKEN
  • Controllers
    • Introduction
    • Basic Controllers
    • Controller Middleware
    • Resource Controllers
    • Dependency Injection & Controllers
    • Route Caching
  • HTTP Requests
    • Accessing The Request
    • Input Trimming & Normalization
    • Retrieving Input
    • Files
    • Configuring Trusted Proxies
  • HTTP Responses
    • Creating Responses
    • Redirects
    • Other Response Types
    • Response Macros
  • Views
    • Creating Views
    • Passing Data To Views
    • View Composers
    • Optimizing Views
  • URL Generation
    • Introduction
    • The Basics
    • URLs For Named Routes
    • URLs For Controller Actions
    • Default Values
  • HTTP Session
    • Introduction
    • Using The Session
    • Session Blocking
    • Adding Custom Session Drivers
  • Validation
    • Introduction
    • Validation Quickstart
    • Form Request Validation
    • Manually Creating Validators
    • Working With Error Messages
    • Available Validation Rules
    • Conditionally Adding Rules
    • Validating Arrays
    • Custom Validation Rules
  • Error Handling
    • Introduction
    • Configuration
    • The Exception Handler
    • HTTP Exceptions
  • Logging
    • Introduction
    • Configuration
    • Writing Log Messages
    • Advanced Monolog Channel Customization
  • Blade Templates
    • Introduction
    • Template Inheritance
    • Displaying Data
    • Control Structures
    • Forms
    • Components
    • Including Subviews
    • Stacks
    • Service Injection
    • Extending Blade
  • Localization
    • Introduction
    • Defining Translation Strings
    • Retrieving Translation Strings
    • Overriding Package Language Files
  • JavaScript & CSS Scaffolding
    • Introduction
    • Writing CSS
    • Writing JavaScript
    • Adding Presets
  • Compiling Assets (Mix)
    • Introduction
    • Installation & Setup
    • Running Mix
    • Working With Stylesheets
    • Working With JavaScript
    • Copying Files & Directories
    • Versioning / Cache Busting
    • Browsersync Reloading
    • Environment Variables
    • Notifications
  • Authentication
    • Introduction
    • Authentication Quickstart
    • Manually Authenticating Users
    • HTTP Basic Authentication
    • Logging Out
    • Password Confirmation
    • Adding Custom Guards
    • Adding Custom User Providers
    • Events
  • Laravel Sanctum
    • Introduction
    • Installation
    • Configuration
    • API Token Authentication
    • SPA Authentication
    • Mobile Application Authentication
    • Testing
  • Laravel Passport
    • Introduction
    • Upgrading Passport
    • Installation
    • Configuration
    • Issuing Access Tokens
    • Authorization Code Grant with PKCE
    • Password Grant Tokens
    • Implicit Grant Tokens
    • Client Credentials Grant Tokens
    • Personal Access Tokens
    • Protecting Routes
    • Token Scopes
    • Consuming Your API With JavaScript
    • Events
    • Testing
  • Authorization
    • Introduction
    • Gates
    • Creating Policies
    • Writing Policies
    • Authorizing Actions Using Policies
  • Email Verification
    • Introduction
    • Routing
    • Events
  • Encryption
    • Introduction
    • Configuration
    • Using The Encrypter
  • Hashing
    • Introduction
    • Configuration
    • Basic Usage
  • Resetting Passwords
    • Introduction
    • Routing
    • Customization
  • Artisan Console
    • Introduction
    • Writing Commands
    • Defining Input Expectations
    • Command I/O
    • Registering Commands
    • Programmatically Executing Commands
    • Stub Customization
    • Events
  • Broadcasting
    • Introduction
    • Concept Overview
    • Defining Broadcast Events
    • Authorizing Channels
    • Broadcasting Events
    • Receiving Broadcasts
    • Presence Channels
    • Client Events
    • Notifications
  • Cache
    • Configuration
    • Cache Usage
    • Cache Tags
    • Atomic Locks
    • Adding Custom Cache Drivers
    • Events
  • Collections
    • Introduction
    • Available Methods
    • Method Listing
    • Higher Order Messages
    • Lazy Collections
  • Events
    • Introduction
    • Registering Events & Listeners
    • Defining Events
    • Defining Listeners
    • Queued Event Listeners
    • Dispatching Events
    • Event Subscribers
  • File Storage
    • Introduction
    • Configuration
    • Obtaining Disk Instances
    • Retrieving Files
    • Storing Files
    • Deleting Files
    • Directories
    • Custom Filesystems
  • Helpers
    • Introduction
    • Available Methods
    • Method Listing
    • Arrays & Objects
    • Paths
    • Strings
    • Fluent Strings
    • URLs
    • Miscellaneous
  • HTTP Client
    • Introduction
    • Making Requests
    • Testing
  • Mail
    • Introduction
    • Generating Mailables
    • Writing Mailables
    • Markdown Mailables
    • Sending Mail
    • Rendering Mailables
    • Localizing Mailables
    • Mail & Local Development
    • Events
  • Notifications
    • Introduction
    • Creating Notifications
    • Sending Notifications
    • Mail Notifications
    • Markdown Mail Notifications
    • Database Notifications
    • Broadcast Notifications
    • SMS Notifications
    • Slack Notifications
    • Localizing Notifications
    • Notification Events
    • Custom Channels
  • Package Development
    • Introduction
    • Package Discovery
    • Service Providers
    • Resources
    • Commands
    • Public Assets
    • Publishing File Groups
  • Queues
    • Introduction
    • Creating Jobs
    • Job Middleware
    • Dispatching Jobs
    • Job Batching
    • Queueing Closures
    • Running The Queue Worker
    • Supervisor Configuration
    • Dealing With Failed Jobs
    • Clearing Jobs From Queues
    • Job Events
  • Task Scheduling
    • Introduction
    • Defining Schedules
    • Task Output
    • Task Hooks
  • Database: Getting Started
    • Introduction
    • Running Raw SQL Queries
    • Listening For Query Events
    • Database Transactions
    • Connecting To The Database CLI
  • Database: Query Builder
    • Introduction
    • Retrieving Results
    • Selects
    • Raw Expressions
    • Joins
    • Unions
    • Where Clauses
    • Ordering, Grouping, Limit & Offset
    • Conditional Clauses
    • Inserts
    • Updates
    • Deletes
    • Pessimistic Locking
    • Debugging
  • Database: Pagination
    • Introduction
    • Basic Usage
    • Displaying Pagination Results
    • Customizing The Pagination View
    • Paginator Instance Methods
  • Database: Migrations
    • Introduction
    • Generating Migrations
    • Migration Structure
    • Running Migrations
    • Tables
    • Columns
    • Indexes
  • Database: Seeding
    • Introduction
    • Writing Seeders
    • Running Seeders
  • Redis
    • Introduction
    • Interacting With Redis
    • Pub / Sub
  • Eloquent: Getting Started
    • Introduction
    • Defining Models
    • Retrieving Models
    • Retrieving Single Models / Aggregates
    • Inserting & Updating Models
    • Deleting Models
    • Replicating Models
    • Query Scopes
    • Comparing Models
    • Events
  • Eloquent: Relationships
    • Introduction
    • Defining Relationships
    • Polymorphic Relationships
    • Querying Relations
    • Eager Loading
    • Inserting & Updating Related Models
    • Touching Parent Timestamps
  • Eloquent: Collections
    • Introduction
    • Available Methods
    • Custom Collections
  • Eloquent: Mutators
    • Introduction
    • Accessors & Mutators
    • Date Mutators
    • Attribute Casting
  • Eloquent: API Resources
    • Introduction
    • Generating Resources
    • Concept Overview
    • Writing Resources
    • Resource Responses
  • Eloquent: Serialization
    • Introduction
    • Serializing Models & Collections
    • Hiding Attributes From JSON
    • Appending Values To JSON
    • Date Serialization
  • Testing: Getting Started
    • Introduction
    • Environment
    • Creating & Running Tests
  • HTTP Tests
    • Introduction
    • Session / Authentication
    • Testing JSON APIs
    • Testing File Uploads
    • Testing Views
    • Available Assertions
  • Console Tests
    • Introduction
    • Expecting Input / Output
  • Laravel Cashier
    • Introduction
    • Upgrading Cashier
    • Installation
    • Configuration
    • Customers
    • Payment Methods
    • Subscriptions
    • Subscription Trials
    • Handling Stripe Webhooks
    • Single Charges
    • Invoices
    • Handling Failed Payments
    • Strong Customer Authentication
    • Stripe SDK
    • Testing
  • Laravel Dusk
    • Introduction
    • Installation
    • Getting Started
    • Interacting With Elements
    • Available Assertions
    • Pages
    • Components
    • Continuous Integration
  • Laravel Cashier Paddle
    • Introduction
    • Upgrading Cashier
    • Installation
    • Configuration
    • Core Concepts
    • Prices
    • Customers
    • Subscriptions
    • Subscription Trials
    • Handling Paddle Webhooks
    • Single Charges
    • Receipts
    • Handling Failed Payments
    • Testing
  • Database Testing
    • Introduction
    • Resetting The Database After Each Test
    • Creating Factories
    • Writing Factories
    • Using Factories
    • Factory Relationships
    • Using Seeds
    • Available Assertions
  • Mocking
    • Introduction
    • Mocking Objects
    • Bus Fake
    • Event Fake
    • HTTP Fake
    • Mail Fake
    • Notification Fake
    • Queue Fake
    • Storage Fake
    • Interacting With Time
    • Facades
  • Laravel Envoy
    • Introduction
    • Writing Tasks
    • Running Tasks
    • Notifications
  • Laravel Horizon
    • Introduction
    • Installation
    • Upgrading Horizon
    • Running Horizon
    • Tags
    • Notifications
    • Metrics
    • Deleting Failed Jobs
    • Clearing Jobs From Queues
  • Laravel Passport
    • Introduction
    • Upgrading Passport
    • Installation
    • Configuration
    • Issuing Access Tokens
    • Authorization Code Grant with PKCE
    • Password Grant Tokens
    • Implicit Grant Tokens
    • Client Credentials Grant Tokens
    • Personal Access Tokens
    • Protecting Routes
    • Token Scopes
    • Consuming Your API With JavaScript
    • Events
    • Testing
  • Laravel Scout
    • Introduction
    • Installation
    • Configuration
    • Indexing
    • Searching
    • Custom Engines
    • Builder Macros
  • Laravel Socialite
    • Introduction
    • Upgrading Socialite
    • Installation
    • Configuration
    • Routing
    • Optional Parameters
    • Access Scopes
    • Stateless Authentication
    • Retrieving User Details
  • Laravel Telescope
    • Introduction
    • Installation
    • Upgrading Telescope
    • Filtering
    • Tagging
    • Available Watchers
    • Displaying User Avatars

Causes Supported

Electronic Frontier Foundation

Defending your civil liberties in a digital world.
https://www.eff.org/

Based in San Francisco, EFF is a donor-supported membership organization working to protect fundamental rights regardless of technology.

From the Internet to the iPod, technologies are transforming our society and empowering us as speakers, citizens, creators, and consumers. When our freedoms in the networked world come under attack, the Electronic Frontier Foundation (EFF) is the first line of defense. EFF broke new ground when it was founded in 1990—well before the Internet was on most people's radar—and continues to confront cutting-edge issues defending free speech, privacy, innovation, and consumer rights today. From the beginning, EFF has championed the public interest in every critical battle affecting digital rights.

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub