Symfony Book 3.0 [PDF]

0
931
Symfony Book 3.0
symfony book 3.0

Contents at a Glance

  • How to Use Assetic for Asset Management – 7
  • Combining, Compiling and Minimizing Web Assets with PHP Libraries – 14
  • How to Minify CSS/JS Files (Using UglifyJS and UglifyCSS) – 17
  • How to Minify JavaScripts and Stylesheets with YUI Compressor – 21
  • How to Use Assetic for Image Optimization with Twig Functions – 23
  • How to Apply an Ascetic Filter to a specific File Extension – 26
  • How to Install 3rd Party Bundles – 28
  • Best Practices for Reusable Bundles – 31
  • How to Use Bundle Inheritance to Override Parts of a Bundle – 37
  • How to Override any Part of a Bundle – 39
  • How to Remove the AcmeDemoBundle – 42
  • How to Load Service Configuration inside a Bundle – 45
  • How to Create Friendly Configuration for a Bundle – 48
  • How to Simplify Configuration of multiple Bundles – 54
  • How to Use Varnish to Speed up my Website – 56
  • Caching Pages that Contain CSRF Protected Forms – 60
  • Installing Composer – 61
  • How to Master and Create new Environments – 62
  • Building your own Framework with the MicroKernelTrait – 67
  • How to Override Symfony’s default Directory Structure – 72
  • Using Parameters within a Dependency Injection Class – 75
  • Understanding how the Front Controller, Kernel, and Environments Work together – 77
  • How to Set external Parameters in the Service Container – 80
  • How to Use the Apache Router – 82
  • Configuring a Web Server – 83
  • How to Organize Configuration Files – 89
  • How to Create a Console Command – 93
  • How to Use the Console – 97
  • How to Style a Console Command – 98
  • How to Call a Command from a Controller – 105
  • How to Generate URLs from the Console – 107
  • How to Enable Logging in Console Commands – 109
  • How to Define Commands as Services – 113
  • How to Customize Error Pages – 115
  • How to Define Controllers as Services – 120
  • How to Upload Files – 125
  • How to Optimize your Development Environment for Debugging – 131
  • How to Deploy a Symfony Application – 133
  • Deploying to Microsoft Azure Website Cloud – 137
  • Deploying to Heroku Cloud – 150
  • Deploying to Platform.sh -155
  • Deploying to fortrabbit – 159
  • How to use Doctrine Extensions: Timestampable, Sluggable, Translatable, etc. – 163
  • How to Register Event Listeners and Subscribers – 164
  • How to Use Doctrine DBAL – 167
  • How to Generate Entities from an Existing Database – 169
  • How to Work with multiple Entity Managers and Connections – 172
  • How to Register custom DQL Functions – 175
  • How to Define Relationships with Abstract Classes and Interfaces – 176
  • How to Provide Model Classes for several Doctrine Implementations – 179
  • How to Implement a Simple Registration Form – 182
  • How to Use PdoSessionHandler to Store Sessions in the Database – 188
  • How to Use MongoDbSessionHandler to Store Sessions in a MongoDB Database – 191
  • Console Commands – 193
  • How to Send an Email – 194
  • How to Use Gmail to Send Emails – 197
  • How to Use the Cloud to Send Emails – 199
  • How to Work with Emails during Development – 201
  • How to Spool Emails – 204
  • How to Test that an Email is Sent in a Functional Test – 206
  • How to Create Event Listeners and Subscribers – 208
  • How to Set Up Before and After Filters – 212
  • How to Extend a Class without Using Inheritance – 216
  • How to Customize a Method Behavior without Using Inheritance  – 219
  • How to use Expressions in Security, Routing, Services, and Validation – 221
  • How to Customize Form Rendering – 224
  • How to Use Data Transformers – 237
  • How to Dynamically Modify Forms Using Form Events – 245
  • How to Embed a Collection of Forms – 255
  • How to Create a Custom Form Field Type – 267
  • How to Create a Form Type Extension – 272
  • How to Reduce Code Duplication with “inherit_data” – 277
  • How to Unit Test your Forms – 280
  • How to Configure empty Data for a Form Class – 285
  • How to Use the submit() Function to Handle Form Submissions – 287
  • How to Use the virtual Form Field Option – 289
  • Using Bower with Symfony – 290
  • How to Install or Upgrade to the Latest, Unreleased Symfony Version – 293
  • How to Use Monolog to Write Logs – 295
  • How to Configure Monolog to Email Errors – 300
  • How to Configure Monolog to Display Console Messages – 302
  • How to Configure Monolog to Exclude 404 Errors from the Log  – 304
  • How to Log Messages to different Files – 305
  • How to Create a custom Data Collector – 307
  • How to Use Matchers to Enable the Profiler Conditionally – 311
  • Switching the Profiler Storage – 313
  • How to Access Profiling Data Programmatically – 314
  • The PSR-7 Bridge – 316
  • How to Configure Symfony to Work behind a Load Balancer or a Reverse Proxy – 318
  • How to Register a new Request Format and Mime Type – 320
  • How to Force Routes to always Use HTTPS or HTTP  – 321
  • How to Allow a “/” Character in a Route Parameter – 322
  • How to Configure a Redirect without a custom Controller – 323
  • How to Use HTTP Methods beyond GET and POST in Routes – 325
  • How to Use Service Container Parameters in your Routes – 327
  • How to Create a custom Route Loader – 329
  • Redirect URLs with a Trailing Slash – 333
  • How to Pass Extra Information from a Route to a Controller – 335
  • Looking up Routes from a Database: Symfony CMF DynamicRouter – 336
  • How to Build a Traditional Login Form – 337
  • Authenticating against an LDAP server – 342
  • How to Load Security Users from the Database (the Entity Provider) – 346
  • How to Create a Custom Authentication System with Guard – 353
  • How to Add “Remember Me” Login Functionality – 360
  • How to Impersonate a User – 364
  • How to Customize your Form Login – 367
  • How to Create a custom User Provider – 370
  • How to Create a Custom Form Password Authenticator – 375
  • How to Authenticate Users with API Keys – 379
  • How to Create a custom Authentication Provider – 388
  • Using pre-Authenticated Security Firewalls – 397
  • How to Change the default Target Path Behavior – 399
  • Using CSRF Protection in the Login Form – 401
  • How to Choose the Password Encoder Algorithm Dynamically –  403
  • How to Use multiple User Providers – 405
  • How to Use Multiple Guard Authenticators – 407
  • How to Restrict Firewalls to a Specific Request – 409
  • How to Restrict Firewalls to a Specific Host – 411
  • How to Create and Enable Custom User Checkers – 412
  • How to Use Voters to Check User Permissions – 414
  • How to Use Access Control Lists (ACLs) – 419
  • How to Use advanced ACL Concepts – 423
  • How to Force HTTPS or HTTP for different URLs – 427
  • How to Secure any Service or Method in your Application – 428
  • How Does the Security access_control Work? – 431
  • How to Use the Serializer – 435
  • How to Define Non-Shared Services – 438
  • How to Work with Compiler Passes in Bundles – 439
  • Session Proxy Examples – 440
  • Making the Locale “Sticky” during a User’s Session – 442
  • Configuring the Directory where Session Files are Saved – 445
  • Bridge a legacy Application with Symfony Sessions – 447
  • Limit Session Metadata Writes – 448
  • Avoid Starting Sessions for Anonymous Users – 449
  • How to Inject Variables into all Templates (i.e. global Variables) – 450
  • How to Use and Register Namespaced Twig Paths – 452
  • How to Use PHP instead of Twig for Templates – 454
  • How to Write a custom Twig Extension – 459
  • How to Render a Template without a custom Controller – 461
  • How to Simulate HTTP Authentication in a Functional Test  – 463
  • How to Simulate Authentication with a Token in a Functional Test – 464
  • How to Test the Interaction of several Clients – 466
  • How to Use the Profiler in a Functional Test – 467
  • How to Test Code that Interacts with the Database – 469
  • How to Test Doctrine Repositories – 472
  • How to Customize the Bootstrap Process before Running Tests – 474
  • Upgrading a Patch Version (e.g. 2.6.0 to 2.6.1) – 475
  • Upgrading a Minor Version (e.g. 2.5.3 to 2.6.1) – 476
  • Upgrading a Major Version (e.g. 2.7.0 to 3.0.0) – 478
  • Upgrading a Third-Party Bundle for a Major Symfony Version – 482
  • How to Create a custom Validation Constraint – 486
  • How to Handle Different Error Levels – 490
  • How to Dynamically Configure Validation Groups – 492
  • How to Use PHP’s built-in Web Server – 494
  • How to Create a SOAP Web Service in a Symfony Controller – 497
  • How to Create and Store a Symfony Project in Git – 500
  • How to Create and Store a Symfony Project in Subversion – 503
  • Using Symfony with Homestead/Vagrant – 507

You can also get this PDF by using our Android Mobile App directly:

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.