Call the expert
A question came across the mailing list today that provides an excellent
opportunity to demonstrate the flexibility of the symfony 1.2 routing system.
Read more
Now that the release of Doctrine 1.1 right around the corner their has been a bit of noise about how users can use 1.1 instead of the default bundled 1.0.
Read more
Tutorial demonstrating how to setup a simple registration form for the sfDoctrineGuardPlugin.
Read more
Learn how you can execute complex queries and retrieve data using Doctrine in this Call the expert article.
Read more
In this tutorial we'll demonstrate how to extend the sfDoctrineGuardPlugin by adding a relationship to the sfGuardUser named Profile and integrating it in to the admin generator that comes with the plugin.
Read more
As announced in a previous post,
symfony 1.2 is able to automatically save objects from deep nested forms. I gave a simple
example in the announcement post, but some people asked me for a real project example. So here it is.
Read more
In this post we'll touch on a few different aspects of the symfony 1.2 release such as the new admin generators, form framework, and embedded forms with a tutorial that starts from a brand new project.
Read more
In the last part, we have moved some code to ProductForm. Today, we will enhance the actions even more by moving code to the View and by using some nice shortcuts provided by symfony for common situations.
Read more
In the last part, we have seen how to move code from the Controller to the Model. The principle is quite simple, you want thin controllers and fat models.
Today, we will see how the new form framework can help us keep this clean separation of concerns.
Read more
Today, we will start by refactoring some actions from the product module.
As symfony is modeled after the MVC design pattern, Vince was pretty confident that he did the separation of concerns pretty well.
The Controller role is to get data from the Model and pass them to the View.
Pretty simple, no?
Read more
Refactoring implies a lot of changes in the code. It means that you need a way to check that you don't break anything during the process. So, before beginning the refactoring session, I asked Vince about its unit and functional test suite.
But Vince had no unit or functional tests. So, we decided to write some functional tests before starting the refactoring.
Read more
Some time ago, Vince, a seasoned PHP developer, asked me to have a look at his very first symfony project, a product store.
As the mistakes he did were quite common, I decided to tell you the story of this refactoring session in the hope you will learn as much as Vince did.
Read more
Jon wants to validate a form value but the validation depends on another form field.
As Jon does not know how to do it with symfony 1.1, he called the expert.
This post will explain how to accomplish this kind of conditional validation by using a post validator.
Read more