# SymfonyCasts

PHP

SymfonyCasts is an e-learning platform of the Symfony community. In partnership with Blackfire, they developed a training course on PHP profiling and performance testing.

This course is available at no cost, and provides training material applicable to any PHP project, even though the examples run on Symfony.

## Table of Contents

1. [Performance, Profilers and APMs](https://symfonycasts.com/screencast/blackfire/intro?cid=bf) Duration: 5:35
2. [Blackfire Install: Agent, Probe, Chrome Extension](https://symfonycasts.com/screencast/blackfire/the-pieces?cid=bf) Duration: 3:14
3. [Installing the Agent, Probe &amp; Chrome Extension](https://symfonycasts.com/screencast/blackfire/install?cid=bf) Duration: 6:26
4. [Wall Time, Exclusive Time &amp; Other Wonders](https://symfonycasts.com/screencast/blackfire/function-list?cid=bf) Duration: 7:47
5. [Finding Issues via the Call Graph](https://symfonycasts.com/screencast/blackfire/call-graph?cid=bf) Duration: 6:50
6. [Comparisons: Validate Performance Changes, Find Side Effects](https://symfonycasts.com/screencast/blackfire/comparisons?cid=bf) Duration: 3:56
7. [Recommendations](https://symfonycasts.com/screencast/blackfire/recommendations?cid=bf) Duration: 6:25
8. [Property Caching](https://symfonycasts.com/screencast/blackfire/property-caching?cid=bf) Duration: 8:17
9. [Using a Caching Layer &amp; Proving its Worth](https://symfonycasts.com/screencast/blackfire/cache-compare?cid=bf) Duration: 4:24
10. [The N+1 Problem &amp; EXTRA\_LAZY](https://symfonycasts.com/screencast/blackfire/n-plus-one?cid=bf) Duration: 5:59
11. [Fixing N+1 With a Join?](https://symfonycasts.com/screencast/blackfire/n-plus-one-joins?cid=bf) Duration: 4:38
12. [Profile All Requests (Including Ajax)](https://symfonycasts.com/screencast/blackfire/profile-all?cid=bf) Duration: 6:03
13. [The Blackfire CLI Tool for AJAX Requests](https://symfonycasts.com/screencast/blackfire/blackfire-cli?cid=bf) 4Duration: :46
14. [Profiling Command Line scripts](https://symfonycasts.com/screencast/blackfire/command-line-scripts?cid=bf) Duration: 6:33
15. [Timeline: Go Behind-the-Scenes with your Code](https://symfonycasts.com/screencast/blackfire/timeline?cid=bf) Duration: 7:15
16. [Timeline: Finding a Hidden Surprise](https://symfonycasts.com/screencast/blackfire/timeline-surprise?cid=bf) Duration: 4:38
17. [Spotting Heavy Object Instantiation](https://symfonycasts.com/screencast/blackfire/instantiation?cid=bf) Duration: 6:06
18. [Service Subscribers](https://symfonycasts.com/screencast/blackfire/service-subscriber?cid=bf) Duration: 6:22
19. [Manually Profile (Instrument) Part of your Code](https://symfonycasts.com/screencast/blackfire/manual-instrumentation?cid=bf) Duration: 9:04
20. [SDK: Automatically Create a Profile](https://symfonycasts.com/screencast/blackfire/auto-profile?cid=bf) Duration: 4:43
21. [Creating an Automatic Probe Early in your Code](https://symfonycasts.com/screencast/blackfire/probe-create-subscriber?cid=bf) Duration: 7:57
22. [Performance Tests](https://symfonycasts.com/screencast/blackfire/performance-tests?cid=bf) Duration: 6:45
23. [All about Metrics](https://symfonycasts.com/screencast/blackfire/metrics?cid=bf) Duration: 9:27
24. [Assertions / Profile “Tests”](https://symfonycasts.com/screencast/blackfire/assertions?cid=bf) Duration: 4:07
25. [Blackfire Player](https://symfonycasts.com/screencast/blackfire/blackfire-player?cid=bf) Duration: 4:47
26. [Expectations/Tests with Blackfire Player](https://symfonycasts.com/screencast/blackfire/blackfire-player-expects?cid=bf) Duration: 6:10
27. [Deploying to SymfonyCloud](https://symfonycasts.com/screencast/blackfire/deploy?cid=bf) Duration: 5:01
28. [Database Tricks on SymfonyCloud](https://symfonycasts.com/screencast/blackfire/sf-cloud-database?cid=bf) Duration: 8:00
29. [Blackfire Environments](https://symfonycasts.com/screencast/blackfire/environments?cid=bf) Duration: 7:17
30. [Production Profile: Cache Stats &amp; More Recommendations](https://symfonycasts.com/screencast/blackfire/env-profile?cid=bf) Duration: 4:18
31. [Automatic Performance Checks: Builds](https://symfonycasts.com/screencast/blackfire/build-basics?cid=bf) Duration: 7:15
32. [Builds with Custom Scenarios](https://symfonycasts.com/screencast/blackfire/build-scenarios?cid=bf) Duration: 5:32
33. [Per-Page Time Metrics &amp; Custom Metrics](https://symfonycasts.com/screencast/blackfire/custom-metrics?cid=bf) Duration: 4:29
34. [Testing a Build Compared to the Last Build](https://symfonycasts.com/screencast/blackfire/comparison-build-tests?cid=bf) Duration: 7:46
35. [Staging Servers on SymfonyCloud](https://symfonycasts.com/screencast/blackfire/cloud-environments?cid=bf) Duration: 4:46
36. [Staging Environment Builds](https://symfonycasts.com/screencast/blackfire/staging-environments?cid=bf) Duration: 7:56
37. [Blackfire Environment Variables](https://symfonycasts.com/screencast/blackfire/environment-vars?cid=bf) Duration: 4:15
