216 lines
8.1 KiB
HTML
216 lines
8.1 KiB
HTML
<h1 id="awesome-symfony-education-awesome">Awesome Symfony Education <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<p><a
|
||
href="https://travis-ci.org/pehapkari/awesome-symfony-education"><img
|
||
src="https://img.shields.io/travis/pehapkari/awesome-symfony-education/master.svg?style=flat-square"
|
||
alt="Build Status" /></a></p>
|
||
<p>A curated list of amazingly awesome Symfony <strong>articles, series
|
||
and books</strong>.</p>
|
||
<p><em>For bundles selection, check <a
|
||
href="https://github.com/sitepoint-editors/awesome-symfony">sitepoint-editors/awesome-symfony</a>.</em></p>
|
||
<h2 id="single-action-controller">Single Action Controller</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://dunglas.fr/2016/01/dunglasactionbundle-symfony-controllers-redesigned/">DunglasActionBundle:
|
||
Symfony controllers, redesigned</a> [2016]</li>
|
||
<li><a
|
||
href="https://beberlei.de/2014/04/24/symfony_hello_world.html">Symfony
|
||
Hello World</a> [2014]</li>
|
||
</ul>
|
||
<h2 id="tutorials-and-video-courses">Tutorials and Video Courses</h2>
|
||
<ul>
|
||
<li><a href="https://symfonycasts.com/tracks/symfony">SymfonyCasts -
|
||
Learn Symfony 4</a>
|
||
<ul>
|
||
<li>Videos + articles. Straightforward, simple & with examples.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://code.tutsplus.com/series/working-with-symfony-2--cms-636">Working
|
||
with Symfony 2</a>
|
||
<ul>
|
||
<li>Short video series for starters</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PL3Wxyd2R8-gIuToQ1NmhVSLZfjrBMePNu">Symfony
|
||
2 - under 5 minutes</a>
|
||
<ul>
|
||
<li>Short video series for starters</li>
|
||
</ul></li>
|
||
</ul>
|
||
<h2 id="series-for-begginers">Series for begginers</h2>
|
||
<ul>
|
||
<li><a href="https://symfonycasts.com/tracks/symfony3">Joyful
|
||
Development with Symfony 3</a> [2016] by SymfonyCasts</li>
|
||
<li><a
|
||
href="https://www.zdrojak.cz/serialy/symfony-po-kruckach/">Symfony po
|
||
krůčkách na Zdroják.cz</a> [2015/2016] [česky]</li>
|
||
<li><a href="https://jobeet-tutorial.readthedocs.io/en/latest/">Symfony
|
||
4.1 Jobeet Tutorial</a> [2018]</li>
|
||
</ul>
|
||
<h2 id="dependency-injection">Dependency Injection</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.tomasvotruba.cz/blog/2017/05/07/how-to-refactor-to-new-dependency-injection-features-in-symfony-3-3/">How
|
||
to refactor to new Dependency Injection features in Symfony 3.3</a> by
|
||
Tomas Votruba [2017]</li>
|
||
</ul>
|
||
<h2 id="eventdispatcher">EventDispatcher</h2>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/watch?v=K9jub4JPpcc">Decouple your
|
||
application with (Domain-)Events</a> by Benjamin Eberlei [2013]</li>
|
||
<li><a
|
||
href="http://mmoreram.com/blog/2015/08/20/re-thinking-event-listeners/">Re-thinking
|
||
Event Listeners</a> [2015]</li>
|
||
<li><a
|
||
href="https://symfonycasts.com/screencast/symfony-journey">Journey to
|
||
the Center of Symfony: HttpKernel Request-Response</a> by SymfonyCasts
|
||
[2015]</li>
|
||
</ul>
|
||
<h2 id="security">Security</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://stovepipe.systems/post/symfony-security-roles-vs-voters">Symfony
|
||
Security, Roles vs. Voters</a> [2015]</li>
|
||
<li><a href="https://jolicode.com/blog/do-not-use-fosuserbundle">Do not
|
||
use FOSUserBundle</a> [2015]</li>
|
||
<li><a
|
||
href="https://symfonycasts.com/screencast/new-in-symfony3/voter">The new
|
||
Voter Class</a> [2016] by SymfonyCasts</li>
|
||
</ul>
|
||
<h2 id="forms">Forms</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://blog.martinhujer.cz/symfony-forms-with-request-objects/">Don’t
|
||
Use Entities in Symfony Forms. Use Custom Data Objects Instead</a>
|
||
[2017]</li>
|
||
<li><a
|
||
href="https://stovepipe.systems/post/avoiding-entities-in-forms">Avoiding
|
||
Entities in Forms</a> [2016]</li>
|
||
<li><a
|
||
href="https://stovepipe.systems/post/rethinking-form-development">Rethinking
|
||
Form Development</a> [2016]</li>
|
||
</ul>
|
||
<h2 id="doctrine">Doctrine</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.tomasvotruba.cz/blog/2017/10/16/how-to-use-repository-with-doctrine-as-service-in-symfony/">How
|
||
to use Repository with Doctrine as Service in Symfony</a> [2017]</li>
|
||
<li><a
|
||
href="http://labs.octivi.com/mastering-symfony2-performance-doctrine/">Mastering
|
||
Symfony2 Performance – Doctrine</a> [2014]</li>
|
||
<li><a
|
||
href="https://www.slideshare.net/_leopro_/rich-domain-model-with-symfony-25-and-doctrine-25">Rich
|
||
domain model with Symfony 2.5 and Doctrine 2.5</a> [2014]</li>
|
||
</ul>
|
||
<h2 id="translations">Translations</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://developer.happyr.com/how-happyr-work-with-symfony-translations">How
|
||
Happyr work with Symfony translations</a> [2015]</li>
|
||
<li><a
|
||
href="https://jolicode.com/blog/translation-workflow-with-symfony2">Translation
|
||
workflow with Symfony2</a> [2015]</li>
|
||
<li><a
|
||
href="http://obtao.com/blog/2013/06/how-to-organize-your-translations-in-symfony/">How
|
||
to organize your translations in Symfony</a> [2013]</li>
|
||
</ul>
|
||
<h2 id="bundles">Bundles</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.slideshare.net/matthiasnoback/high-quality-symfony-bundles-tutorial-dutch-php-conference-2014">High
|
||
Quality Symfony Bundles</a> [2014]</li>
|
||
</ul>
|
||
<h2 id="decoupling">Decoupling</h2>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/watch?v=0L_9NutiJlc">The Framework
|
||
as an implementation</a> by Marcello Duarte & Konstantin Kudryashov
|
||
[2013], <a
|
||
href="https://github.com/MarcelloDuarte/hexagonal-symfony">Github
|
||
repository</a></li>
|
||
<li><a
|
||
href="https://matthiasnoback.nl/2014/06/how-to-create-framework-independent-controllers/">Symfony2:
|
||
How to create framework independent controllers</a> [2014]</li>
|
||
</ul>
|
||
<h2 id="legacy">Legacy</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://speakerdeck.com/hhamon/bringing-symfony-components-into-your-legacy-code">Bringing
|
||
Symfony Components into Your Legacy Code</a> [2016]</li>
|
||
<li><a
|
||
href="https://speakerdeck.com/jakzal/eating-spaghetti-with-symfony">Eating
|
||
spaghetti with Symfony</a> [2016]</li>
|
||
<li><a
|
||
href="https://stovepipe.systems/post/migrating-your-project-to-symfony">Migrating
|
||
your project to Symfony</a> [2016]</li>
|
||
</ul>
|
||
<h2 id="performance">Performance</h2>
|
||
<ul>
|
||
<li><a
|
||
href="http://labs.octivi.com/mastering-symfony2-performance-internals/">Mastering
|
||
Symfony2 Performance – Internals</a> [2014]</li>
|
||
<li><a
|
||
href="https://tideways.com/profiler/blog/5-ways-to-optimize-symfony-baseline-performance">5
|
||
Ways to optimize Symfony Baseline Performance</a> [2015]</li>
|
||
</ul>
|
||
<h2 id="ddd">DDD</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://williamdurand.fr/2013/08/07/ddd-with-symfony2-folder-structure-and-code-first/">DDD
|
||
with Symfony2: Folder Structure And Code First</a> [2013]</li>
|
||
</ul>
|
||
<h2 id="general">General</h2>
|
||
<ul>
|
||
<li><a
|
||
href="http://www.thisprogrammingthing.com/2016/lessons-from-my-first-symfony-project/">Lessons
|
||
Learned from My First Symfony Project</a> [2016]</li>
|
||
<li><a
|
||
href="https://blog.kevingomez.fr/2014/04/08/symfony-best-practices/">Symfony
|
||
best practices</a> [2014]</li>
|
||
<li><a
|
||
href="https://www.slideshare.net/javier.eguiluz/symfony-tips-and-tricks">Symfony
|
||
tips and tricks</a> [2014]</li>
|
||
<li><a
|
||
href="https://emanueleminotto.github.io/blog/some-symfony-2-practices">Some
|
||
Symfony 2 practices</a></li>
|
||
<li><a
|
||
href="https://devel.cz/otazka/nette-vs-symfony#answer-17973">Výhody a
|
||
nevýhody Symfony v bodech</a> [2014] [česky] - by <a
|
||
href="https://twitter.com/spicimedved"><span class="citation"
|
||
data-cites="spicimedved">@spicimedved</span></a></li>
|
||
</ul>
|
||
<h2 id="books">Books</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://leanpub.com/symfonyframeworkdeepdive-console">Symfony
|
||
Framework Deepdive - Console</a> [2015]
|
||
<ul>
|
||
<li>Detailed guide to Console Component by Joshua Thijssen</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://leanpub.com/symfonyframeworkdeepdive-security">Symfony
|
||
Framework Deepdive - Security</a> [2015]
|
||
<ul>
|
||
<li>Detailed guide to Security Component by Joshua Thijssen</li>
|
||
</ul></li>
|
||
<li><a href="https://leanpub.com/symfony-selfstudy">Symfony
|
||
Certification - Unofficial self-study guide</a> [2015]
|
||
<ul>
|
||
<li>Short Q-A based section about Symfony foundations</li>
|
||
</ul></li>
|
||
<li><a href="https://leanpub.com/a-year-with-symfony">A Year with
|
||
Symfony</a> [updated 2014]
|
||
<ul>
|
||
<li>Great book for beginners to understand basic Symfony lifecycle and
|
||
how to use it to your advantages.</li>
|
||
</ul></li>
|
||
</ul>
|
||
<h3 id="license">License</h3>
|
||
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
|
||
src="https://licensebuttons.net/p/zero/1.0/88x31.png"
|
||
alt="CC0" /></a></p>
|
||
<p>To the extent possible under law, <a
|
||
href="https://www.tomasvotruba.cz/">Tomas Votruba</a> has waived all
|
||
copyright and related or neighboring rights to this work.</p>
|