-
Symfony World Videos are Available (but not here)
The Symfony World videos are available with high-quality captions, but not in SymfonyCasts this year! Read more ...
-
Now Exposed: composer.json & package.json for every Tutorial
Curious what versions of a library a tutorial is using? Every tutorial now exposes the full composer.json and package.json info! Read more ...
-
SymfonyCasts is here to listen
We are motivated by the message and momentum of the Black Lives Matter movement that is happening worldwide and in the US. Read more ...
-
SymfonyCasts Rebrands as SymfonyCATS
After mis-typing SymfonyCasts as SymfonyCATS... about a million times, we decided it was easier just to go with it. Read more ...
-
SymfonyCon 2018 Lisbon Videos are Here
Did you attend SymfonyCon and want to re-watch stuff? Or maybe you missed it and need to catch up? Either way, SymfonyCon 2018 videos are here! Read more ...
-
KnpUniversity is now SymfonyCasts!
We've got some big news! KnpUniversity is now SymfonyCasts! Find out what this means, and why we're excited! Read more ...
-
Bookmark your favorite courses and videos
We've been getting many requests lately from our users about a bookmarking feature, and now it's ready! Read more ...
-
Adding English Subtitles & Course Thumbnails
Making our content friendly & accessible is super important. That's why we've just added English subtitles & course thumbnails! Read more ...
-
New for January 2018
2018 = Symfony 4 Development Read more ...
-
2017 Year in Review
2017 was the biggest year yet for KnpUniversity! Read more ...
-
New for November 2017
New Release: PHPUnit with a Bite & we hope to see you in Cluj! Read more ...
-
New for October 2017
New releases, upcoming tutorials and upcoming Symfony events we want you to know about in October! Read more ...
-
Changes to Symfony Tutorials for Symfony 3.3
Symfony 3.3 comes with some great new config in services.yml. But, if you're coding along with our tutorials, this code may cause some issues! Find out how to keep coding along happily. Read more ...
-
Introducing KnpUOAuth2ClientBundle: Making Social Easy
Say hello to KnpUOAuth2ClientBundle: Social connect, social authentication, social registration - do it all, easily and without frustration. Read more ...
-
Why I Love Drupal People
Yea yea yea, Drupal 8 is out. But more than that, Drupal people are awesome. So let me tell you about how I met them... Read more ...
-
7 Free Screencasts for the Drupal 8 Party
Drupal 8 is here! Now get to work with video tutorials and coding challenges for Drupal, OO coding and more. All free until Dec 25th. Read more ...
-
Behat on CircleCI with Failure Screenshots
Not only is running Behat on CircleCI easy, with just a few lines of code, you can get screenshots when a test fails. Read more ...
-
Fun with Symfony's Console Component
Symfony's Console component can be used in a single, standalone file to add colors, build a table or add a progress bar with a beer icon. Read more ...
-
Symfony's Under-Used property_path option
The Symfony Form property_path option is one of the most under-appreciated, and powerful parts of the form component. Read more ...
-
Our favorite PhpStorm Live Templates + Share yours
PhpStorm Live Templates: where you type a word, hit tab, and it expands into a full code-block, saving you time on all the code you write over and over again. We've published a few of our favorites, and are hoping you'll share yours. Read more ...
-
Introducing Guard: Symfony Security with a Smile
Introducing Guard: Authentication any way you want, customize the heck out of every part, and come out smiling. It's Symfony's security system unleashed! Read more ...
-
How we Upgraded to Symfony 2.7 (+ deprecation notices)
Symfony 2.7 has landed! Learn how we upgraded to the latest LTS and what hiccups we hit along the way. Read more ...
-
Symfony Service Expressions: Do things you thought Impossible
Did you know you can inject a Doctrine repository into a service without registering it as a service? How about injecting scalar values are arguments that live in the database? If not, you may have missed Symfony's Expression Language. Read more ...
-
Why I Switched from Assetic to Gulp
I switched from Assetic to Gulp to get more features and better support. In this post, I'll' tell you why there's a good chance that switching to Gulp is a good decision for you too. And, I'll give you a quick, 3-step intro to Gulp itself. Read more ...
-
Expanding Code Blocks
We're giving our code-blocks a face-lift to show the filename and folded lines you can expand to see the entire file. Read more ...
-
Bundles, No Bundles and AppBundle in 10 Steps
The new AppBundle in Symfony is controversial, but I'm not sure it should be. In this post, I'll show you why it exists, why bundles are just directories, and how close we are to having no bundles at all. Sound crazy? It might just change the way you think about your app. Read more ...
-
All About the All Access Subscription Pass
The KnpU All Access Pass ... ooohhh ahhhh. Introducing binge-watching and more frequent content. Build something amazing! Read more ...
-
Update your Docs for "composer require", then Celebrate with a Sandwich
Composer's require command just learned how to guess the best version for you. So update your library docs to have a one-line installation! And then have a sandwich. Read more ...
-
Want to be a Drupal 8 Expert? Start with Symfony
Drupal 8 changes a lot under the hood and those will make you a happier and more productive developer. But don't wait for its release to kick butt in the new world. That's right, just learn Symfony. Read more ...
-
The Collaboration Machine of the Docs World
Collaboration on software is huge, and we all enjoy the benefits. So why don't we see more with documentation? I'll tell you where I think tutorials & collaboration are going and what prevents us from getting there. But I also want to know what keeps you from writing tutorials and collaborating. Read more ...
-
Accessing and Debugging Symfony Form Errors
Inspired by an old StackOverflow post, we'll investigate why it's so hard to get all of the errors of a form and unlock some new tricks by understanding the form hierarchy. Read more ...
-
Evolving RequireJS, Bower and Grunt
At SymfonyCon Warsaw, I talked about RequireJS, Bower and Grunt in your PHP project. In this post, we'll go a bit further and check out a way to organize things that may be even better! Read more ...
-
We can has RSS?
We have an RSS feed! Ok, that's not earth-shattering, but we will be sharing tech experiences, updates, and other tech topics and we don't want you to miss out. We also talk about the code behind the RSS. Read more ...
-
REST Revisited
After our recent "What the REST" post, a lot of people came out to help answer the most difficult questions around creating a RESTful API. In this post, I outline what we learned and what questions remain before we release our REST tutorial. Read more ...
-
Finding our OS Content License
We're releasing the content of our screencasts and we want to get the license right. In this post, we give a little background and ask for your thoughts. Read more ...
-
What the Rest?
REST is as deep as the rabbit hole, with varied approaches and undefined best-practices. Should I use custom hypermedia types or something like HAL or JSON-LD? Should I implement OPTIONS? What role should the API documentation play and what information should be described inside the API itself? In this post, I'm asking for help. Read more ...
-
KnpYou!
Sometimes, learning something technical is just plain hard. Information is scattered, opinions vary, and best-practices are buried. Nothing tells the whole, realistic story in a real world application. We work together on open source libraries, but not on tutorials. So now, we're excited to enter our next phase, where it's all about collaboration and working together! Read more ...