New in symfony 1.2: Small things matter (3)

Here comes the third edition of small things that might make you happy in symfony 1.2.
Tests coverage
When you test your code with unit or functional tests, it's quite handy to know if some code has not been covered.
As of symfony 1.2, the test:coverage
task outputs the code coverage for some given
tests:
./symfony test:coverage test/unit/model/ArticleTest.php lib/model/Article.php
The first argument is a test file or a test directory. The second one is the file or directory for which you want to know the code coverage.
If you want to know which lines are not covered, simply add the --detailed
option:
./symfony test:coverage --detailed test/unit/model/ArticleTest.php lib/model/Article.php
Events
The event system introduced in symfony 1.1 makes the framework quite flexible. As new needs arise, new events are added:
user.change_authentication
: notified when a user authentication status changes. The event takes theauthenticated
flag as an argument after the change occurred.debug.web.load_panels
debug.web.filter_logs
You can read the web debug toolbar
post to learn more about the new debug.*
events.
Forms
The form framework is made better by the addition of several methods that simplifies its usage in the templates:
The renderUsing()
method renders the form using a specific formatter:
// in a template, the form will be rendered using the "list" form formatter <?php echo $form->renderUsing('list') ?>
The renderHiddenFields()
method returns the HTML needed to display
the hidden widgets:
<form action="<?php echo url_for('@some_route') ?>"> <?php echo $form->renderHiddenFields() ?> <ul> <?php echo $form['name']->renderRow() ?> </ul> <input type="submit" /> </form>
sfForm
now also implements the Iterator
interface:
<ul> <?php foreach ($form as $field): ?> <li><?php echo $field ?></li> <?php endforeach; ?> </ul>
That's all for today.
Help the Symfony project!
As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.
Comments
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.
it would be nicer to either be able to pass a full class name or manage a map "list" => "sfWidgetFormSchemaFormatterList" that is possible to by overridden by options or something like that
Thank you (for this and whole work on symfony)
sometimes you want to manually start the programm from a single point (e.g. from a event notification).
so it would be nice to notify an event from the commandline..
e.g.
./symfony event:notify user.change_authentication