Khi bạn đang mơ thì người khác đang nỗ lực.

Laravel: Up & Running: A Framework for Building Modern PHP Apps 2nd Edition

Laravel: Up & Running: A Framework for Building Modern PHP Apps 2nd Edition

Thông tin sách

ISBN: 9781492041207

Nhà xuất bản: O'Reilly

Xuất bản: 03/2019

Số trang: 544

Tác giả: Matt Stauffer

Giới thiệu Laravel: Up and Running Second Edition

Nếu bạn đã từng đọc qua Laravel Up and Running phiên bản đầu, chắc chắn sẽ không có gì ngạc nhiên với mức độ đồ sộ của cuốn sách bởi tác giả Matt Stauffer rất có tiếng tăm trong cộng đồng Laravel. Anh là một giảng viên, một lập trình viên và là giám đốc kỹ thuật tại công ty Tighten Co, ngoài ra Matt Stauffer còn là cộng tác viên tích cực của Laravel Podcast.

Với những kinh nghiệm có được từ thực tế công việc cũng nhưng quá trình giảng dạy, Matt Stauffer đã đúc kết toàn bộ kiến thức Laravel trong một cuốn sách có thể nói là đầy đủ nhất về framework Laravel. Cuốn sách được trình bày rất khoa học, lối hành văn xúc tích cùng với vô vàn các ví dụ thực tế sinh động, nó khiến cho người đọc bị lôi cuốn phải thực hành ngay những gì đọc được.

Những cập nhật trong phiên bản 2

Về bố cục nói chung ở phiên bản 2 của Laravel: Up and Running giống với phiên bản đầu nhưng tất cả nội dung đã được cập nhập để phù hợp với Laravel 5.8, phiên bản mới nhất hiện nay, kèm theo đó là một số các package trong hệ sinh thái Laravel cũng đã có những thay đổi. Ví dụ: thay vì hướng dẫn sử dụng Laravel Elixir thì trong phiên bản này giới thiệu Laravel Mix (từ Laravel 5.4 Laravel Mix chính thức thay thế cho Laravel Elixir).

Trong ebook phiên bản mới này, Matt Stauffer cũng giới thiệu nhiều hơn về hệ sinh thái Laravel do thời gian gần đây, các ứng dụng, dịch vụ xung quanh Laravel phát triển bùng nổ như: Forge, Nova, Spark, Envoy...

NỘI DUNG CUỐN SÁCH

Chương 1: Why Laravel?

  • Why Use a Framework?

    • “I’ll Just Build It Myself”
    • Consistency and Flexibility
  • A Short History of Web and PHP Frameworks
    • Ruby on Rails The Influx of PHP Frameworks
    • The Good and the Bad of CodeIgniter
    • Laravel 1, 2, and 3
    • Laravel 4
    • Laravel 5
  • What’s So Special About Laravel?
    • The Philosophy of Laravel
    • How Laravel Achieves Developer Happiness
    • The Laravel Community
  • How It Works Why Laravel?

Chương 2. Setting Up a Laravel Development Environment

  • System Requirements
  • Composer
  • Local Development Environments
    • Laravel Valet
    • Laravel Homestead
  • Creating a New Laravel Project
    • Installing Laravel with the Laravel Installer Tool
    • Installing Laravel with Composer’s create-project Feature
    • Lambo: Super-Powered “Laravel New”
  • Laravel’s Directory Structure
    • The Folders
    • The Loose Files
  • Configuration
    • The .env File
  • Up and Running
  • Testing
  • TL;DR

Chương 3. Routing and Controllers

A Quick Introduction to MVC, the HTTP Verbs, and REST What Is MVC? The HTTP Verbs What Is REST? Route Definitions Route Verbs Route Handling Route Parameters Route Names Route Groups Middleware Path Prefixes Fallback Routes Subdomain Routing Namespace Prefixes Name Prefixes Signed Routes Signing a Route Modifying Routes to Allow Signed Links Views Returning Simple Routes Directly with Route::view() Using View Composers to Share Variables with Every View Controllers Getting User Input Injecting Dependencies into Controllers Resource Controllers API Resource Controllers Single Action Controllers Route Model Binding Implicit Route Model Binding Custom Route Model Binding Route Caching Form Method Spoofing HTTP Verbs in Laravel HTTP Method Spoofing in HTML Forms CSRF Protection Redirects redirect()->to() redirect()->route() redirect()->back() Other Redirect Methods redirect()->with() Aborting the Request Custom Responses response()->make() response()->json() and ->jsonp() response()->download(), ->streamDownload(), and ->file() Testing TL;DR

Chương 4. Blade Templating

Echoing Data Control Structures Conditionals Loops Template Inheritance Defining Sections with @section/@show and @yield Including View Partials Using Stacks Using Components and Slots View Composers and Service Injection Binding Data to Views Using View Composers Blade Service Injection Custom Blade Directives Parameters in Custom Blade Directives Example: Using Custom Blade Directives for a Multitenant App Easier Custom Directives for “if” Statements Testing TL;DR

Chương 5. Databases and Eloquent

Configuration Database Connections Other Database Configuration Options Defining Migrations Running Migrations Seeding Creating a Seeder Model Factories Query Builder Basic Usage of the DB Facade Raw SQL Chaining with the Query Builder Transactions Introduction to Eloquent Creating and Defining Eloquent Models Retrieving Data with Eloquent Inserts and Updates with Eloquent Deleting with Eloquent Scopes Customizing Field Interactions with Accessors, Mutators, and Attribute Casting Eloquent Collections Eloquent Serialization Eloquent Relationships Child Records Updating Parent Record Timestamps Eloquent Events Testing TL;DR

Chương 6. Frontend Components

Laravel Mix Mix Folder Structure Running Mix What Does Mix Provide? Frontend Presets and Auth Scaffolding Frontend Presets Auth Scaffolding Pagination Paginating Database Results Manually Creating Paginators Message Bags Named Error Bags String Helpers, Pluralization, and Localization The String Helpers and Pluralization Localization Testing Testing Message and Error Bags Translation and Localization TL;DR

Chương 7. Collecting and Handling User Data

Injecting a Request Object $request->all() $request->except() and $request->only() $request->has() $request->input() $request->method() and ->isMethod() Array Input JSON Input (and $request->json()) Route Data From Request From Route Parameters Uploaded Files Validation validate() on the Request Object Manual Validation Custom Rule Objects Displaying Validation Error Messages Form Requests Creating a Form Request Using a Form Request Eloquent Model Mass Assignment {{ Versus {!! Testing TL;DR

Chương 8. Artisan and Tinker

An Introduction to Artisan Basic Artisan Commands Options The Grouped Commands Writing Custom Artisan Commands A Sample Command Arguments and Options Using Input Prompts Output Writing Closure-Based Commands Calling Artisan Commands in Normal Code Tinker Laravel Dump Server Testing TL;DR

Chương 9. User Authentication and Authorization

The User Model and Migration Using the auth() Global Helper and the Auth Facade The Auth Controllers RegisterController LoginController ResetPasswordController ForgotPasswordController VerificationController Auth::routes() The Auth Scaffold “Remember Me” Manually Authenticating Users Manually Logging Out a User Invalidating Sessions on Other Devices Auth Middleware Email Verification Blade Authentication Directives Guards Changing the Default Guard Using Other Guards Without Changing the Default Adding a New Guard Closure Request Guards Creating a Custom User Provider Custom User Providers for Nonrelational Databases Auth Events Authorization (ACL) and Roles Defining Authorization Rules The Gate Facade (and Injecting Gate) Resource Gates The Authorize Middleware Controller Authorization Checking on the User Instance Blade Checks Intercepting Checks Policies Testing TL;DR

Chương 10. Requests, Responses, and Middleware

Laravel’s Request Lifecycle Bootstrapping the Application Service Providers The Request Object Getting a Request Object in Laravel Getting Basic Information About a Request The Response Object Using and Creating Response Objects in Controllers Specialized Response Types Laravel and Middleware An Introduction to Middleware Creating Custom Middleware Binding Middleware Passing Parameters to Middleware Trusted Proxies Testing TL;DR

Chương 11. The Container

A Quick Introduction to Dependency Injection Dependency Injection and Laravel The app() Global Helper How the Container Is Wired Binding Classes to the Container Binding to a Closure Binding to Singletons, Aliases, and Instances Binding a Concrete Instance to an Interface Contextual Binding Constructor Injection in Laravel Framework Files Method Injection Facades and the Container How Facades Work Real-Time Facades Service Providers Testing TL;DR

Chương 12. Testing

Testing Basics Naming Tests The Testing Environment The Testing Traits RefreshDatabase WithoutMiddleware DatabaseMigrations DatabaseTransactions Simple Unit Tests Application Testing: How It Works TestCase HTTP Tests Testing Basic Pages with $this->get() and Other HTTP Calls Testing JSON APIs with $this->getJson() and Other JSON HTTP Calls Assertions Against $response Authenticating Responses A Few Other Customizations to Your HTTP Tests Handling Exceptions in Application Tests Database Tests Using Model Factories in Tests Seeding in Tests Testing Other Laravel Systems Event Fakes Bus and Queue Fakes Mail Fakes Notification Fakes Storage Fakes Mocking A Quick Introduction to Mocking A Quick Introduction to Mockery Faking Other Facades Testing Artisan Commands Asserting Against Artisan Command Syntax Browser Tests Choosing a Tool Testing with Dusk TL;DR

Chương 13. Writing APIs

The Basics of REST-Like JSON APIs Controller Organization and JSON Returns Reading and Sending Headers Sending Response Headers in Laravel Reading Request Headers in Laravel Eloquent Pagination Sorting and Filtering Sorting Your API Results Filtering Your API Results Transforming Results Writing Your Own Transformer Nesting and Relationships with Custom Transformers API Resources Creating a Resource Class Resource Collections Nesting Relationships Using Pagination with API Resources Conditionally Applying Attributes More Customizations for API Resources API Authentication with Laravel Passport A Brief Introduction to OAuth 2.0 Installing Passport Passport’s API Passport’s Available Grant Types Managing Clients and Tokens with the Passport API and Vue Components Passport Scopes Deploying Passport API Token Authentication Customizing 404 Responses Triggering the Fallback Route Testing Testing Passport TL;DR

Chương 14. Storage and Retrieval

Local and Cloud File Managers Configuring File Access Using the Storage Facade Adding Additional Flysystem Providers Basic File Uploads and Manipulation Simple File Downloads Sessions Accessing the Session Methods Available on Session Instances Flash Session Storage Cache Accessing the Cache Methods Available on Cache Instances Cookies Cookies in Laravel Accessing the Cookie Tools Logging When and Why to Use Logs Writing to the Logs Log Channels Full-Text Search with Laravel Scout Installing Scout Marking Your Model for Indexing Searching Your Index Queues and Scout Performing Operations Without Indexing Conditionally Indexing Models Manually Triggering Indexing via Code Manually Triggering Indexing via the CLI Testing File Storage Session Cache Cookies Log Scout TL;DR

Chương 15. Mail and Notifications

Mail “Classic” Mail Basic “Mailable” Mail Usage Mail Templates Methods Available in build() Attachments and Inline Images Markdown Mailables Rendering Mailables to the Browser Queues Local Development Notifications Defining the via() Method for Your Notifiables Sending Notifications Queueing Notifications Out-of-the-Box Notification Types Testing Mail Notifications TL;DR

Chương 16. Queues, Jobs, Events, Broadcasting, and the Scheduler

Queues Why Queues? Basic Queue Configuration Queued Jobs Controlling the Queue Queues Supporting Other Functions Laravel Horizon Events Firing an Event Listening for an Event Broadcasting Events over WebSockets, and Laravel Echo Configuration and Setup Broadcasting an Event Receiving the Message Advanced Broadcasting Tools Laravel Echo (the JavaScript Side) Scheduler Available Task Types Available Time Frames Defining Time Zones for Scheduled Commands Blocking and Overlap Handling Task Output Task Hooks Testing TL;DR

Chương 17. Helpers and Collections

Helpers Arrays Strings Application Paths URLs Miscellaneous Collections The Basics A Few Methods TL;DR

Chương 18. The Laravel Ecosystem

Tools Covered in This Book Valet Homestead The Laravel Installer Mix Dusk Passport Horizon Echo Tools Not Covered in This Book Forge Envoyer Cashier Socialite Nova Spark Lumen Envoy Telescope Other Resources Glossary Index

Hướng dẫn tải ebook

Nhập email của bạn để nhận ebook Laravel: Up & Running: A Framework for Building Modern PHP Apps 2nd Edition, hệ thống sẽ gửi email cho bạn, vui lòng kiểm tra email.

Chú ý: Ebook có được do sưu tầm hoặc người dùng đóng góp, chúng tôi không chịu trách nhiệm nội dung ebook. Chúng tôi sẽ gỡ bỏ ebook nếu có khiếu nại. Bạn có tài chính dư giả nên mua sách gốc ủng hộ tác giả.
Matt Stauffer

Matt Stauffer

Matt Stauffer một lập trình viên, giảng viên kiêm giám đốc kỹ thuật công ty Tighten. Với đam mê nghề và tính chia sẻ, anh có nhiều bài viết hay để tổng hợp nên cuốn sách đầy đủ nhất cho mọi người tìm hiểu về Laravel: Laravel up and running.

0 Bình luận trong ""

Thêm bình luận