• Return to book
  • Review this book
  • About the author
  • Introduction
  • 1. Prologue
    • 1.1. Release Notes
      • 1.1.1. Laravel 5.0
      • 1.1.2. Laravel 4.2
      • 1.1.3. Laravel 4.1
    • 1.2. Upgrade Guide
      • 1.2.1. Upgrading To 5.0 From 4.2
      • 1.2.2. Upgrading To 4.2 From 4.1
      • 1.2.3. Upgrading To 4.1.29 From <= 4.1.x
      • 1.2.4. Upgrading To 4.1.26 From <= 4.1.25
      • 1.2.5. Upgrading To 4.1 From 4.0
    • 1.3. Contribution Guide
      • 1.3.1. Bug Reports
      • 1.3.2. Core Development Discussion
      • 1.3.3. Which Branch?
      • 1.3.4. Security Vulnerabilities
      • 1.3.5. Coding Style
  • 2. Setup
    • 2.1. Installation
      • 2.1.1. Install Composer
      • 2.1.2. Install Laravel
      • 2.1.3. Server Requirements
    • 2.2. Configuration
      • 2.2.1. Introduction
      • 2.2.2. After Installation
      • 2.2.3. Accessing Configuration Values
      • 2.2.4. Environment Configuration
      • 2.2.5. Configuration Caching
      • 2.2.6. Maintenance Mode
      • 2.2.7. Pretty URLs
    • 2.3. Homestead
      • 2.3.1. Introduction
      • 2.3.2. Included Software
      • 2.3.3. Installation & Setup
      • 2.3.4. Daily Usage
      • 2.3.5. Ports
  • 3. The Basics
    • 3.1. Routing
      • 3.1.1. Basic Routing
      • 3.1.2. CSRF Protection
      • 3.1.3. Method Spoofing
      • 3.1.4. Route Parameters
      • 3.1.5. Named Routes
      • 3.1.6. Route Groups
      • 3.1.7. Route Model Binding
      • 3.1.8. Throwing 404 Errors
    • 3.2. Middleware
      • 3.2.1. Introduction
      • 3.2.2. Defining Middleware
      • 3.2.3. Registering Middleware
      • 3.2.4. Terminable Middleware
    • 3.3. Controllers
      • 3.3.1. Introduction
      • 3.3.2. Basic Controllers
      • 3.3.3. Controller Middleware
      • 3.3.4. Implicit Controllers
      • 3.3.5. RESTful Resource Controllers
      • 3.3.6. Dependency Injection & Controllers
      • 3.3.7. Route Caching
    • 3.4. Requests
      • 3.4.1. Obtaining A Request Instance
      • 3.4.2. Retrieving Input
      • 3.4.3. Old Input
      • 3.4.4. Cookies
      • 3.4.5. Files
      • 3.4.6. Other Request Information
    • 3.5. Responses
      • 3.5.1. Basic Responses
      • 3.5.2. Redirects
      • 3.5.3. Other Responses
      • 3.5.4. Response Macros
    • 3.6. Views
      • 3.6.1. Basic Usage
      • 3.6.2. View Composers
  • 4. Architecture Foundations
    • 4.1. Service Providers
      • 4.1.1. Introduction
      • 4.1.2. Basic Provider Example
      • 4.1.3. Registering Providers
      • 4.1.4. Deferred Providers
    • 4.2. Service Container
      • 4.2.1. Introduction
      • 4.2.2. Basic Usage
      • 4.2.3. Binding Interfaces To Implementations
      • 4.2.4. Contextual Binding
      • 4.2.5. Tagging
      • 4.2.6. Practical Applications
      • 4.2.7. Container Events
    • 4.3. Contracts
      • 4.3.1. Introduction
      • 4.3.2. Why Contracts?
      • 4.3.3. Contract Reference
      • 4.3.4. How To Use Contracts
    • 4.4. Facades
      • 4.4.1. Introduction
      • 4.4.2. Explanation
      • 4.4.3. Practical Usage
      • 4.4.4. Creating Facades
      • 4.4.5. Mocking Facades
      • 4.4.6. Facade Class Reference
    • 4.5. Request Lifecycle
      • 4.5.1. Introduction
      • 4.5.2. Lifecycle Overview
      • 4.5.3. Focus On Service Providers
    • 4.6. Application Structure
      • 4.6.1. Introduction
      • 4.6.2. The Root Directory
      • 4.6.3. The App Directory
      • 4.6.4. Namespacing Your Application
  • 5. Services
    • 5.1. Authentication
      • 5.1.1. Introduction
      • 5.1.2. Authenticating Users
      • 5.1.3. Retrieving The Authenticated User
      • 5.1.4. Protecting Routes
      • 5.1.5. HTTP Basic Authentication
      • 5.1.6. Password Reminders & Reset
      • 5.1.7. Social Authentication
    • 5.2. Billing
      • 5.2.1. Introduction
      • 5.2.2. Configuration
      • 5.2.3. Subscribing To A Plan
      • 5.2.4. No Card Up Front
      • 5.2.5. Swapping Subscriptions
      • 5.2.6. Subscription Quantity
      • 5.2.7. Cancelling A Subscription
      • 5.2.8. Resuming A Subscription
      • 5.2.9. Checking Subscription Status
      • 5.2.10. Handling Failed Payments
      • 5.2.11. Handling Other Stripe Webhooks
      • 5.2.12. Invoices
    • 5.3. Cache
      • 5.3.1. Configuration
      • 5.3.2. Cache Usage
      • 5.3.3. Increments & Decrements
      • 5.3.4. Cache Tags
      • 5.3.5. Database Cache
    • 5.4. Collections
      • 5.4.1. Introduction
      • 5.4.2. Basic Usage
    • 5.5. Command Bus
      • 5.5.1. Introduction
      • 5.5.2. Creating Commands
      • 5.5.3. Dispatching Commands
      • 5.5.4. Queued Commands
      • 5.5.5. Command Pipeline
    • 5.6. Core Extension
      • 5.6.1. Managers & Factories
      • 5.6.2. Cache
      • 5.6.3. Session
      • 5.6.4. Authentication
      • 5.6.5. IoC Based Extension
    • 5.7. Elixir
      • 5.7.1. Introduction
      • 5.7.2. Installation & Setup
      • 5.7.3. Usage
      • 5.7.4. Gulp
      • 5.7.5. Extensions
    • 5.8. Encryption
      • 5.8.1. Introduction
      • 5.8.2. Basic Usage
    • 5.9. Errors & Logging
      • 5.9.1. Configuration
      • 5.9.2. Handling Errors
      • 5.9.3. HTTP Exceptions
      • 5.9.4. Logging
    • 5.10. Events
      • 5.10.1. Basic Usage
      • 5.10.2. Queued Event Handlers
      • 5.10.3. Event Subscribers
    • 5.11. Filesystem / Cloud Storage
      • 5.11.1. Introduction
      • 5.11.2. Configuration
      • 5.11.3. Basic Usage
    • 5.12. Hashing
      • 5.12.1. Introduction
      • 5.12.2. Basic Usage
    • 5.13. Helpers
      • 5.13.1. Arrays
      • 5.13.2. Paths
      • 5.13.3. Strings
      • 5.13.4. URLs
      • 5.13.5. Miscellaneous
    • 5.14. Localization
      • 5.14.1. Introduction
      • 5.14.2. Language Files
      • 5.14.3. Basic Usage
      • 5.14.4. Pluralization
      • 5.14.5. Validation Localization
      • 5.14.6. Overriding Package Language Files
    • 5.15. Mail
      • 5.15.1. Configuration
      • 5.15.2. Basic Usage
      • 5.15.3. Embedding Inline Attachments
      • 5.15.4. Queueing Mail
      • 5.15.5. Mail & Local Development
    • 5.16. Package Development
      • 5.16.1. Introduction
      • 5.16.2. Views
      • 5.16.3. Translations
      • 5.16.4. Configuration
      • 5.16.5. Publishing File Groups
      • 5.16.6. Routing
    • 5.17. Pagination
      • 5.17.1. Configuration
      • 5.17.2. Usage
      • 5.17.3. Appending To Pagination Links
      • 5.17.4. Converting To JSON
    • 5.18. Queues
      • 5.18.1. Configuration
      • 5.18.2. Basic Usage
      • 5.18.3. Queueing Closures
      • 5.18.4. Running The Queue Listener
      • 5.18.5. Daemon Queue Worker
      • 5.18.6. Push Queues
      • 5.18.7. Failed Jobs
    • 5.19. Session
      • 5.19.1. Configuration
      • 5.19.2. Session Usage
      • 5.19.3. Flash Data
      • 5.19.4. Database Sessions
      • 5.19.5. Session Drivers
    • 5.20. Templates
      • 5.20.1. Blade Templating
      • 5.20.2. Other Blade Control Structures
      • 5.20.3. Extending Blade
    • 5.21. Unit Testing
      • 5.21.1. Introduction
      • 5.21.2. Defining & Running Tests
      • 5.21.3. Test Environment
      • 5.21.4. Calling Routes From Tests
      • 5.21.5. Mocking Facades
      • 5.21.6. Framework Assertions
      • 5.21.7. Helper Methods
      • 5.21.8. Refreshing The Application
    • 5.22. Validation
      • 5.22.1. Basic Usage
      • 5.22.2. Controller Validation
      • 5.22.3. Form Request Validation
      • 5.22.4. Working With Error Messages
      • 5.22.5. Error Messages & Views
      • 5.22.6. Available Validation Rules
      • 5.22.7. Conditionally Adding Rules
      • 5.22.8. Custom Error Messages
      • 5.22.9. Custom Validation Rules
  • 6. Database
    • 6.1. Basic Usage
      • 6.1.1. Configuration
      • 6.1.2. Read / Write Connections
      • 6.1.3. Running Queries
      • 6.1.4. Database Transactions
      • 6.1.5. Accessing Connections
      • 6.1.6. Query Logging
    • 6.2. Query Builder
      • 6.2.1. Introduction
      • 6.2.2. Selects
      • 6.2.3. Joins
      • 6.2.4. Advanced Wheres
      • 6.2.5. Aggregates
      • 6.2.6. Raw Expressions
      • 6.2.7. Inserts
      • 6.2.8. Updates
      • 6.2.9. Deletes
      • 6.2.10. Unions
      • 6.2.11. Pessimistic Locking
    • 6.3. Eloquent ORM
      • 6.3.1. Introduction
      • 6.3.2. Basic Usage
      • 6.3.3. Mass Assignment
      • 6.3.4. Insert, Update, Delete
      • 6.3.5. Soft Deleting
      • 6.3.6. Timestamps
      • 6.3.7. Query Scopes
      • 6.3.8. Global Scopes
      • 6.3.9. Relationships
      • 6.3.10. Querying Relations
      • 6.3.11. Eager Loading
      • 6.3.12. Inserting Related Models
      • 6.3.13. Touching Parent Timestamps
      • 6.3.14. Working With Pivot Tables
      • 6.3.15. Collections
      • 6.3.16. Accessors & Mutators
      • 6.3.17. Date Mutators
      • 6.3.18. Attribute Casting
      • 6.3.19. Model Events
      • 6.3.20. Model Observers
      • 6.3.21. Converting To Arrays / JSON
    • 6.4. Schema Builder
      • 6.4.1. Introduction
      • 6.4.2. Creating & Dropping Tables
      • 6.4.3. Adding Columns
      • 6.4.4. Changing Columns
      • 6.4.5. Renaming Columns
      • 6.4.6. Dropping Columns
      • 6.4.7. Checking Existence
      • 6.4.8. Adding Indexes
      • 6.4.9. Foreign Keys
      • 6.4.10. Dropping Indexes
      • 6.4.11. Dropping Timestamps & Soft Deletes
      • 6.4.12. Storage Engines
    • 6.5. Migrations & Seeding
      • 6.5.1. Introduction
      • 6.5.2. Creating Migrations
      • 6.5.3. Running Migrations
      • 6.5.4. Rolling Back Migrations
      • 6.5.5. Database Seeding
    • 6.6. Redis
      • 6.6.1. Introduction
      • 6.6.2. Configuration
      • 6.6.3. Usage
      • 6.6.4. Pipelining
  • 7. Artisan CLI
    • 7.1. Overview
      • 7.1.1. Introduction
      • 7.1.2. Usage
      • 7.1.3. Calling Commands Outside Of CLI
      • 7.1.4. Scheduling Artisan Commands
    • 7.2. Development
      • 7.2.1. Introduction
      • 7.2.2. Building A Command
      • 7.2.3. Registering Commands
Powered by GitBook

Laravel 5.0 Documentation

Prologue

  • Release Notes
    • Laravel 5.0
    • Laravel 4.2
    • Laravel 4.1
  • Upgrade Guide
    • Upgrading To 5.0 From 4.2
    • Upgrading To 4.2 From 4.1
    • Upgrading To 4.1.29 From <= 4.1.x
    • Upgrading To 4.1.26 From <= 4.1.25
    • Upgrading To 4.1 From 4.0
  • Contribution Guide
    • Bug Reports
    • Core Development Discussion
    • Which Branch?
    • Security Vulnerabilities
    • Coding Style