Flag of Ukraine
SymfonyCasts stands united with the people of Ukraine
This tutorial has a new version, check it out!

Joyful Development with Symfony 3

44:10

What you'll be learning

// composer.json
{
    "require": {
        "php": ">=5.5.9",
        "symfony/symfony": "3.1.*", // v3.1.4
        "doctrine/orm": "^2.5", // v2.7.2
        "doctrine/doctrine-bundle": "^1.6", // 1.6.4
        "doctrine/doctrine-cache-bundle": "^1.2", // 1.3.0
        "symfony/swiftmailer-bundle": "^2.3", // v2.3.11
        "symfony/monolog-bundle": "^2.8", // 2.11.1
        "symfony/polyfill-apcu": "^1.0", // v1.2.0
        "sensio/distribution-bundle": "^5.0", // v5.0.22
        "sensio/framework-extra-bundle": "^3.0.2", // v3.0.16
        "incenteev/composer-parameter-handler": "^2.0", // v2.1.2
        "composer/package-versions-deprecated": "^1.11" // 1.11.99
    },
    "require-dev": {
        "sensio/generator-bundle": "^3.0", // v3.0.7
        "symfony/phpunit-bridge": "^3.0" // v3.1.3
    }
}

Ready to get serious with Symfony? You've come to the right place!

Get your first application off on the right foot by coding along with a real application, using the right tools and learning the best practices from the lead author of the Symfony documentation. These fundamentals will get you ready for everything else you'll need to do with Symfony in the future.

In this screencast, we start building an application from the ground-up, exploring the most fundamental parts of the application:

  • Installation and Setup
  • Route Essentials
  • Mastering Controllers & Response
  • Services and the Container
  • Twig
  • JSON Responses
  • Configuration and Environments

... and other goodies mixed in.


Your Guides

Ryan Weaver Leanna Pelham


Join the Conversation?

186
Login or Register to join the conversation
Default user avatar

<3

4 Reply
Default user avatar
Default user avatar Karlola | posted 4 years ago

I just flooded another thread here with an unneeded panicking comment, so I want to leave some positivity too :) I am an English-Polish translator desperately trying to morph into a web devel. This course is priceless help after I struggled to understand OOP and SF during a weekend course AND to keep my job. Also, I am a hard-of-hearing person with very little auditory training in English but I absolutely get what you are saying in the witty videos! Thank you for caring about the sound quality and providing the script for those of us who don't even see a point in having headphones at home :)

3 Reply

Well, you just made my day! I'm *so* happy you found the tutorials useful and fun *and* that the scripts were helpful! It's really important to us to make those available :). Good luck on your journey - becoming a webdev is not an "easy" task, which is why it's so rewarding.

Cheers!

1 Reply
Default user avatar
Default user avatar May Olakunlevpn | posted 4 years ago

Fatal error: Call to a member function getReceiver() on null in C:\xampp\htdocs\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authentication\Token\UserCheck.php on line 36

2 Reply
Default user avatar

public function sanitize($feeder) {

$user = $feeder->getReceiver();

if($user->getId() == 1) {

Reply

Hey May,

Could you provide a bit more context? Do you have a problem? Is it a fix? What course exactly is it related to? Code is meanless without description :)

Thanks!

Reply
Default user avatar
Default user avatar Junior Ugwu | victor | posted 3 years ago

hello i have this exact same problem with a script im working on... and i really need your help with it.. my email is patorikky@gmail.com....just send me an email so that we can engage in a discussion from there....or you can send me a whatsapp text +2349025627930 it'll be easier for us to communicate there

Reply

Hi Michal!

Yes and now :). Many of the fundamental concepts (routing, controllers, response, services) will be covered in both, though updated for any changes that have happened in Symfony 3 (usually pretty minor for those core concepts). But, the Symfony 3 tutorials are also a total rewrite: a new project that will cover some new concepts (like API stuff) that are a lot more important than they were years ago. The Symfony 2 tutorials are still great (and very deep), but we'll update and deprecate them one-by-one. I'm actually really excited about all of this :).

Cheers!

1 Reply
Default user avatar
Default user avatar Reynier Pérez Mira | weaverryan | posted 4 years ago | edited

weaverryan my apologies for hijacking the post but I need your help and experience on something I am working on related to FOSUser, can you have an eye on to this post (http://stackoverflow.com/qu... in SO when you have a chance?

Reply

Hi there! That's quite the long, complex SO question :). If you put the code you're working on up on GitHub, it'll be much easier for me or someone else to exactly pinpoint the issue.

Cheers!

Reply
Default user avatar

I have one confusion. If I pay now for all Symfony 2 tutorial (1 to 4), whether I have to pay again for Symfony 3 tutorial when it is released?

Reply

Hey Vladimir!

Yes, if you buy the individual Symfony 2 tutorials, then you would need to pay again for the Symfony 3 tutorials - the new ones are completely re-created from scratch. The first Symfony 3 tutorial is already (and free!) and we hope to start getting the additional Symfony 3 tutorials out over the next month so that you won't have to choose - apologies for that :). If you have a subscription, then you'll of course get access to everything that is out while you have your membership.

Cheers!

Reply
Default user avatar
Default user avatar Miguel Ángel Purriños Vera | posted 4 years ago

Hi, I´m having an error when I follow the steps on video: JSON Responses + Route Generation.

The error is Variable "notes" does not exist in genus\show.html.twig at line 25
500 Internal Server Error - Twig_Error_Runtime

I can´t solve it. I copy the docs from the tutorial. Can you give me some clue?

1 Reply

Hi Miguel!

You're doing fine - in the JSON Responses + Route Generation chapter, we remove the `$notes` variable in the render call in showAction(), and this temporarily breaks the "show" page (while we're working on the JSON endpoint). But, we fix this in the last chapter by removing that variable in the Twig template and populating it dynamically with JavaScript.

I hope that helps - I didn't mean to confuse anyone :)

Reply
Default user avatar
Default user avatar nickmarinho | posted 4 years ago

There is a continuation of this tutorial ? Can I give me url to this ? I'll to learn more about symfony and I love this tutorial

1 Reply

Hey Luciano!

Yes, you can check the Symfony Fundamentals: Bundles, Configuration & Environments next.
A list of all subsequent courses is here: https://knpuniversity.com/t... .

Cheers!

Reply
Default user avatar
Default user avatar nickmarinho | victor | posted 4 years ago

Thank you Victor =)

1 Reply
Paweł C. Avatar
Paweł C. Avatar Paweł C. | posted 4 years ago

Hi, Is code for project from these tutorials (symfony3) available in github?

1 Reply

Hey Paweł C.!

The code isn't available on GitHub, but you can download the course code from any of the video pages - it will contain a zip file with both the starting code for the tutorial and the finished code. For the first tutorial, this is available for everyone. For the other tutorials, you need to be a subscriber to download it :).

Cheers!

Reply
Default user avatar

Expected value of type "AppBundle\Entity\Membre" for association field "AppBundle\Entity\Groupe#$membres", got "Doctrine\Common\Collections\ArrayCollection" instead.
any one help me please

Reply

Hey Ghada,

Can you give us a bit more context? What are you doing exactly when seeing this error? It looks like you pass an ArrayCollection instance instead of Member entity somewhere, but difficult to say where exactly. See the error line and please double check the code there.

Cheers!

Reply
Default user avatar
Default user avatar The Original Motherfucker | posted 4 years ago

me gusta symfony

Reply

Sin duda el mejor framework!

Reply
Default user avatar
Default user avatar Jaroslav Mohila | posted 4 years ago

I want more! great tutorial ! :)

Reply

Within the next few days :)

Reply

Eventually, the 2.4+ courses will be removed from the "Symfony" track - this will happen once we have enough updated Symfony 3 tutorials.

Reply
Default user avatar

Is Symfony 3 really ready for production sites?

Reply

Absolutely - it went stable at the end of November and actually has the same features as 2.8 - the only difference is that the deprecated features were removed. It's very stable :)

Reply

But keep in mind not all vendor bundles compatible with Symfony 3.0 yet :)

Reply
Default user avatar
Default user avatar Shairyar Baig | posted 4 years ago

Nice, refreshing tutorial.

Reply

Thanks so much Ryan!
We don't need Laracasts, we've Ryan, Leanna and KNPLabs! ^ ^

Reply
Mike L. Avatar
Mike L. Avatar Mike L. | posted 4 years ago

cool thats my weekend fun sorted

Reply
Default user avatar
Default user avatar yujunjie0603 | posted 4 years ago

congratulation

Reply
Default user avatar

wow! I din't knew ReactJS was that 'reactive', you edit a file on the fly and page is... receiving a live feed? Awesome! Thank you guys.

Reply

Well, I am cheating a little bit - but the ReactJS does the same "cheat" :). There is some polling going on in the background to check for updates. But of course, you could also hook this up to get the same behavior without polling. Either way, it works pretty awesome - I have a lot of fun with React.

Reply
Default user avatar
Default user avatar Levan Lomia | posted 4 years ago

Thanks , really good tutorial. but i have some question. when you are rendering JSON string you get really pretty string with black property key and green values. when i rendered it , i just got simple html file with ugly JSON string. not colors , not line breaking , not spacing , am i done something wrong?

Reply

Hi, Levan! Rean has intelled some JSON viewer chrome plugin. I'm not sure what exactly plugin Rean has installed but you can install in Firefox and Google Chrome a plugin called: JSONView (Firefox and Chrome) or JSON Formatter (Chrome).

https://chrome.google.com/w...

1 Reply

You nailed it - I have JSONView installed - it makes my JSON look pretty :).

1 Reply
Default user avatar

ah thank you very much!

Reply
Default user avatar

Hello Felipe!
Thank you very much.

Reply

Hey Felipe and felipsmartins ,

Yes, the JSONView plugin for Google Chrome is exactly what we have in our screencasts!

Cheers!

Reply
Default user avatar
Default user avatar Niel Shine | posted 4 years ago

How to upload an image in symfony with configuration as yml?

Reply

Hey Niel!

I'm not sure I understand your question - I like using VichUploaderBundle for uploading items to the site, but there is also some information about uploading on Symfony.com. I'm not sure what you mean by yml configuration - but please feel free to clarify :)

Cheers!

Reply
Default user avatar

Thanks :)

Reply
Default user avatar
Default user avatar Trent Steel | posted 4 years ago

I'd love to see an example of this without babel and have the js compiled using something like webpack.

Reply

That's beyond the scope of this tutorial (I wanted to only *touch* React), but it's definitely a good suggestion for a possible future tutorial that talks more about React itself :). Cheers Trent!

Reply
Default user avatar
Default user avatar Léo Li | posted 4 years ago

Hello, it there any upgrade for the part of login form and security in Symfony 3?

Reply

Hey Léo! There will be soon: http://knpuniversity.com/sc.... Cheers!

Reply
Default user avatar
Default user avatar Andrei Pall | posted 4 years ago

Great tutorial. Thanks! :)

Reply

Hello Ryan, after a year I came back to symfony and realized that symfony3 has been released. I'm wondering if your other videos for Symfony2 are still good to follow or there are some deprecated/old features that are not recommended to keep using.

I specially refer to the Login Form part

Thanks for your time!

Reply
Cat in space

"Houston: no signs of life"
Start the conversation!