Call the expert

Call the expert: Adding subdomain requirements to routing.yml

A question came across the mailing list today that provides an excellent opportunity to demonstrate the flexibility of the symfony 1.2 routing system.

Call the expert: Using a custom version of Doctrine

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.

Call the expert: Simple Registration with sfDoctrineGuardPlugin

Tutorial demonstrating how to setup a simple registration form for the sfDoctrineGuardPlugin.

Call the expert: Retrieving Data with Doctrine

Learn how you can execute complex queries and retrieve data using Doctrine in this Call the expert article.

Call the expert: Customizing sfDoctrineGuardPlugin

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.

Call the expert: Nested forms - A real implementation

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.

New in symfony 1.2: Doctrine goodies

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.

Call the expert: A refactoring story (Part 5/5)

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.

Call the expert: A refactoring story (Part 4/5)

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.

Call the expert: A refactoring story (Part 3/5)

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?

Call the expert: A refactoring story (Part 2/5)

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.

Call the expert: A refactoring story (Part 1/5)

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.

Call the expert: How to implement a conditional validator?

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.