[2881 total ]
symfony 1.2.9 auf 1.4 upgraden
Raw SQL from Doctrine Query Object – Revised
Formularios avanzados, primera parte
symfony 1.3.1 and 1.4.1

The symfony team is pleased to announce the immediate availability of versions 1.3.1 and 1.4.1. These updates include a number of bug fixes and are recommended upgrades for all users.

Noteworthy changes

A bug was discovered in the ... [More] Propel 1.4 behaviors that come bundled with symfony. This was a particularly tricky bug having to do with line endings that only occurred on Windows systems using the symfony PEAR package.

A bug was also discovered in the Doctrine plugin that affected magic accessors for columns ending with an underscore followed by a digit. The Doctrine form class has also been patched so files are deleted from the filesystem when a *_delete value is submitted on the appropriate field.

Check out the full CHANGELOG for more information.

Installation

If you use a Subversion checkout of the 1.3 or 1.4 branch, running svn update will get you the latest code. Or, if you've checked out the 1.3.0 or 1.4.0 tag, switch to the 1.3.1 or 1.4.1 tag. Once you updated the core, be sure to rebuild generated files and clear your cache.

// doctrine
$ php symfony doctrine:build --all-classes

// propel
$ php symfony propel:build --all-classes

$ php symfony cache:clear

Be trained by symfony experts
- Dec 28 Online - Jan 05 Paris - Jan 06 Online - Jan 20 Paris - Feb 04 Online [Less]

About testing plugins

There has been some discussion on Twitter about the quality vs. quantity of
symfony plugins out there. This is a good opportunity to touch on one of the
new features introduced in symfony 1.3 that allows you to hook tests from
plugins ... [More] into the symfony test:* commands with just a few lines of code.

The sfPluginConfiguration class, introduced in symfony 1.2, now includes a
connectTests() method. This method, as you can tell by its name, connects
tests from the plugin to the current project. You can call this method from
your ProjectConfiguration class:

// config/ProjectConfiguration.class.php
class ProjectConfiguration extends sfProjectConfiguration
{
public function setup()
{
$this->enablePlugins('myPlugin');
}
 
public function setupPlugins()
{
$this->pluginConfigurations['myPlugin']->connectTests();
}
}

With this code in place, tests from myPlugin will be included when any of
symfony's test:* tasks are run:

$ php symfony test:all
$ php symfony test:unit
$ php symfony test:unit myPluginClass
$ php symfony test:functional frontend
$ php symfony test:functional frontend myPluginModuleActions

You can add your own logic to this connecting code. For example, if you use
prefixed plugins as a means to organize project code, you can run a quick loop
to connect all of your project-plugins' tests:

public function setupPlugins()
{
foreach ($this->plugins as $plugin)
{
// check for your project's prefix
if (0 === strpos($plugin, 'my'))
{
$this->pluginConfigurations[$plugin]->connectTests();
}
}
}

Something Extra

If your project uses
sfTaskExtraPlugin,
a plugin maintained by the core team, you have access to the test:plugin
command. This is the best way to run a particular plugin's entire test suite.

$ php symfony test:plugin myPlugin

While the core test:* commands require you to call
sfPluginConfiguration::connectTests() from your project configuration in
order to include tests from a plugin, the test:plugin command does not. It
is still required that the plugin be enabled.

The task-extra plugin also includes a generate:test task, which makes it
easy to get a new unit test started quickly:

$ php symfony generate:test myPluginClass --editor-cmd=mate

This command will create a stub unit test in a myPluginClassTest.php file
nested in the plugin's test/unit/ directory in such a way to replicate the
directory structure of lib/. Having the test directory organized as a mirror
of the lib directory makes it possible to run the test:coverage command if
you have Xdebug installed:

$ php symfony test:coverage test/unit/util lib/util --detailed

Step-by-step

Let's assume you're considering
sfFormExtraPlugin
for your project. One way to evaluate this plugin is by evaluating the quality
its test suite. This can be done in three easy steps:

Install the plugin:

$ php symfony plugin:install sfFormExtraPlugin

Run the plugin's test suite:

$ php symfony test:plugin sfFormExtraPlugin

Check the plugin's test coverage:

$ php symfony test:coverage plugins/sfFormExtraPlugin/test/unit \
plugins/sfFormExtraPlugin/lib

Go forth and test!

Symfony has always advocated for writing automated tests and provided the
tools necessary to do so in your project, but support for testing plugins has
been limited. Hopefully, with these enhancements introduced in symfony 1.3 and
sfTaskExtraPlugin, more plugin developers will include test suites with their
plugins, and more users will run them.

Be trained by symfony experts
- Dec 28 Online - Jan 05 Paris - Jan 06 Online - Jan 20 Paris - Feb 04 Online [Less]

Enviando emails, segunda parte
Diem 5.0 ALPHA6
Doctrine vs Propel

Now that symfony 1.4 is out, it's time again for me to answer a lot of
questions about which ORM people need to use. I don't have a definitive
answer, but today, I want to share some numbers with you.

First, let me re-iterate that ... [More] both Doctrine and Propel are equally
supported
in symfony 1.X. And thanks to the new installer feature of symfony 1.4,
choosing between one or the other is just a matter of passing the --orm
option when creating a project:

$ php symfony generate:project foo --orm=Doctrine

$ php symfony generate:project foo --orm=Propel

As for any Open-Source community, it's not easy to find metrics that tell you
what people use and how they use it. You can measure the number of tickets for
a specific feature, count the number of people asking for help on Propel or
Doctrine. But for the Propel vs Doctrine question, we have two more reliable
metrics.

First, the traffic on the
Jobeet
tutorial. The Jobeet
tutorial is available for both Propel and Doctrine, and is the most popular
piece of documentation for newcomers. As you can see on the graphic on the
side, Doctrine has became the most popular ORM in June 2009, and going strong
since then.

We can also compare the number of "Practical symfony"
books sold during since the beginning if 2009. The difference between Propel and Doctrine
is much more important, as we sell approximately five times more Doctrine books than
Propel ones.

Choosing between Propel and Doctrine is really a matter of taste. Both have
great features and also some weaknesses. But after you make your choice for a
project, stick with it. Migrating from Propel to Doctrine or the other way
around is just a huge task.

Be trained by symfony experts
- Dec 16 Paris - Dec 28 Online - Jan 05 Paris - Jan 06 Online - Jan 20 Paris [Less]

A week of symfony #153 (30 November -> 6 December 2009)

Symfony project smashed all records this week with the simultaneous release of three stable versions (1.2.10, 1.3.0 and 1.4.0), nearly 500 changesets commited to the repository, 130 bugs fixed, 14 new plugins and 36 updated plugins. A new symfony ... [More] book called More with symfony was announced for advanced users. Hundreds of posts and tweets were published all around the world covering the best symfony week ever.

Development mailing list

Discussions about sfLucenePlugin required propel folks and module.yml and custom view for components and partials

Development highlights

r24590: [1.2, 1.3, 1.4] fixed obtaining error from mysqli session storage
r24591: [1.2, 1.3, 1.4] added requirements to DELETE action of sfObjectRouteCollection.class.php
r24593: [1.3, 1.4] removed old lazy_cache_key setting from generator

r24595: [1.3, 1.4] enhanced parameter validation task to produce less false positives
r24605: [1.3, 1.4] refactored sfWidgetFormDate.class to allow easier extension and tests, as well as being easier to read (reverted)
r24607: [1.2, 1.3, 1.4] no longer adding duplicate entries in sfMemcacheCache.class metadata cache when key is already existing
r24613: [1.2] added project:validate task to symfony 1.2 to enable checking for deprecated code already before upgrading to 1.3

r24615: [1.3, 1.4] updated page and action caching to consider GET parameters
r24619: [1.0, 1.2, 1.3, 1.4] fixed incorrect array access of lastModified header which only was an array pre 1.0. This was effectively preventing 304 Not Modified response from working correctly
r24622: [1.0, 1.2, 1.3, 1.4] allowed __() and sfI18N->__() and sfMessageFormat->format() to take an object with a __toString() method
r24628: [1.3, 1.4] updated date validator to ignore date_format option if tainted value is an array
Milestone 1.2.10 completed

Milestone 1.3.0 completed
Milestone 1.4.0 completed
r24705, r24706: [1.2, 1.3, 1.4] optimized project:validate task
r24857: [lime] added output when the parser cannot read the test output
r24942: [1.2, 1.3, 1.4] updated japanese translation of the admin generator

r24961, r24962: [1.3, 1.4] using var export on serialisation to prevent invalid php code
r24986: [1.3, 1.4] patched class manipulator to work with source that uses an eol other than PHP_EOL
sfDoctrinePlugin:

r24537: [1.3, 1.4] decoupled relation name from form field name when calling embedRelation(), allowed embedding of type one relations

r24598: [1.3, 1.4] fixes issue with attributes in databases.yml
r24604: [1.3, 1.4] fixed issue where local is an array
r24606: [1.3, 1.4] fixed sfDoctrineRecord::call() so proper exception is thrown
r24617: [1.3, 1.4] fixed issue with base model classes not having tokens replaced from properties.ini
r24618: [1.3] removed sfDoctrineRecordListener class which is not used

r24620: [1.3, 1.4] fixed module option being ignored in *:generate-admin task
r24625: [1.3, 1.4] updated doctrine:dql task to render NULL for null values when in table mode
r24632: [1.3, 1.4] fixed issue with magic setters/getters for a field with a underscore and number at the end (reverted)
r24634: [1.3, 1.4] catching Doctrine validation exceptions so you don't get internal server errors in admin generator if you use Doctrine validation

r24637: [1.3, 1.4] fixed inconsistent case in doctrine crud
r24641: [2.0] updates for Doctrine 2 to make plugin work again
r24745: [1.3, 1.4] fixed replacing of tokens in doctrine stub and base model classes
r24970: [1.3, 1.4] fixed inclusion of linked doctrine schema files
r24971: [1.3, 1.4] fixed sfFormDoctrine::removeFile fails to remove files

r24993: [1.3, 1.4] updated checking for logged trace to be a bit more responsible

sfPropelPlugin:

r24597: [1.3, 1.4] fixed casting of propel i18n objects to string
r24620: [1.3, 1.4] fixed module option being ignored in *:generate-admin task

r24621: [1.3, 1.4] fixed column name used when generating propel route collections
r24993: [1.3, 1.4] updated checking for logged trace to be a bit more responsible

...and many other changes

Symfony components

yaml:

r24603: tagged release 1.0.0
r24654: fixed a possible loop in parsing a non-valid quoted string
r24656: fixed \ usage in quoted string
r24716: fixed YAML dump when a string contains a \r without a \n

r24719, r24720: changed Exception to InvalidArgumentException

event dispatcher:

r24601: tagged release 1.0.0

Development digest: 459 changesets, 68 bugs reported, 130 bugs fixed, 10 enhancements suggested, 27 enhancements closed, 21 documentation defects reported, 20 documentation defects fixed, and 45 documentation edits.

Documentation

Updated Russian translation of Jobeet tutorial
New Глоссарий переводчиков документации page

Updated Howto Setup Vim with Symfony page

Updated symfony 1.3 reference:

chapter 16: fixed duplicate sentences, updated task chapter

Updated French, and Japanese translations of symfony 1.3 reference
Updated Italian, French, and Japanese translations of Jobeet 1.3 / Practical symfony 1.3 book

New Job Postings

LAMP Web Developer at Codero - Contact: adrianf [at] codero [dot] com

New developers for hire

Maple Design Ltd: is a web development agency based in Southampton, UK. We are experienced PHP5 developers and handle development work for a number of creative agencies as well as our own clients. We've used Symfony since 2007.

New symfony bloggers

Symfony Russian Central (feed) (Russian)

Christopher Shennan's Blog (English)

Plugins

New plugins

dmWidgetGalleryPlugin: packages a Diem front widget for displaying image galleries.

sfYandexYMLPlugin: some classes helping to create XML files for the Yandex.Market service (http://market.yandex.ru).

sfApplePushNotificationServicePlugin: adds Apple push notification service integration for your projects.

sfPropelOraclePlugin: facilitates communication between a symfony project and system management data base Oracle.

sfDeploymentPlugin: helps you deploy your applications by supporting single and multiple deployment targets for web, application and database, deployment via ssh, scp, sftp, ftp, svn, git and filecopy, deployment of various database and storage backends.

sfMCronPlugin: provides a convenient work with cron. This plugin allows to execute function & class methods according certain time specification. With this plugin you can add, delete handlers, watch their list. Display priorities launch, monitor the work of handlers.

sfActivemqPlugin: adds Activemq support for your symfony apps.

dmCoreTranslatorPlugin: designed to help translators to provide Diem translations. It generates data/dm/i18n/en_**.yml files. Missing translations are generated automatically using the Google translate API.

swCombinePlugin: (no description)

sfQuickCommentPlugin: provides a really simple component for developers to include a quick comment box that allow logged user to comment on every thing. This plugin could be considered as a "commentable behavior" for doctrine object.

sfPaymentMolliePlugin: contains an adapter that supports transaction with the Mollie iDEAL API. By using the sfPaymentMolliePlugin you can easily support transactions with the following dutch banks: ING, ABN Amro, Rabobank, SNS, Fortis, Friesland Bank.

sfDoxygenPlugin: provides tasks to generate your sourcecode documentation via Doxygen.

nExtJs3Plugin: (no description)

sfTwittThisPlugin: send twitts using bit.ly api to reduce url.

Updated plugins

sfTaskExtraPlugin: fixed deprecated use of sh for execute()
sfFormExtraPlugin: added sfWidgetFormDoctrineJQueryAutocompleter, changed the sfFormLanguage to take the current user culture into account, added a date_widget option to sfWidgetFormJQueryDate, fixed incorrect octal parsing of dates in javascript
sfSuperCachePlugin: created the 1.3 branch, made a small optimization, backported some changesets from 1.0

sfThumbnailPlugin: fixed package.xml for symfony > 1.0, removed 5.3.0 deprecated features
sfGuardPlugin: removed old code
sfFeed2Plugin: fixed package.xml for symfony 1.3/1.4
sfDoctrineGuardPlugin: removed old code, fixed missing parent::Setup() call for form, fixed issue with real property names, fixed validator, added tests for forgot password, added tests for register and forgot password, added invalid key for register
diemPlugin:

added french and german translations
added dm.i18n.not_found event
fixed admin code editor use deprecated dmFilesystem->copyRecursive method
removed deprecated dmFilesystem->copyRecursive method
fixed admin dmError generator.yml
removed deprecated template tidyOutput

added postgresql support
updated admin generator processFormActions part to match latest symfony update
updated dmMessageFormat to allow to format objects with a toString method
improved dmValidatorCssClasses
fixed time delta on server log chart
made content chart use weeks instead of months

fixed escaping in admin config panel
added dmString::escape static method
removed useless escaping from the dmConfigForm class
added dmFormField->getHelp method
fixed dmFormField when fluent interface is used many time in the same string generation
disabled no script name redirection when running functional tests

updated static calls to Doctrine_Core
improved front drag & drop zones and widget are now more usable
added dmAdminGenerateTask clear option to regenerate a module
disabled selection on front & admin tool bar menus
fixed bug in widget_renderer service

improved zone and widget draggable helper appearance
fixed pages secure option
added login page and disabled it in sitemap generation and search engine population
improved permission and group toSring method
added sf_login and sf secure configuration in dmAdminPluginConfiguration
removed useless model declarations in admin default modules.yml

added template field to DmLayout (now each layout can declare its own template)
removed deprecated lazy_cache_key config from skeleton
fixed skeleton sf_login and sf_secure configs
added changeToDisabled and changeToReadOnly shortcut methods to dmForm
added dmSearchIndex->fixPermissions method and cleaned the whole class
added dmFrontGenerateTask->generateLayoutTemplates method

made dmFrontPluginConfiguration change sf_login and sf_secure configs only if set to default
made dmFrontPageViewHelper and dmFrontPageEditHelper extend the abstract dmFrontPageBaseHelper
added login and secure actions to dmFront
made impossible to secure the login page
improved DmFormSignin and made it extend BaseDmFormSignin
improved the signin page template

refactored search subframework to be more flexible and testable
refactored seo_synchronizer service to handle multilinguism
fixed usage of dmDoctrineQuery->isActive in admin generated module actions
made DmPage is_secure field, DmWidget, DmAutoSeo and DmMailTemplate translatable (compatibility break)
added DmSetting table in admin database core diagram
added translation tables in admin database diagrams

fixed admin search engine querying
fixed search engine description when many culture indices
added search_engine service dir option
added search_index service culture and name options
added the new search_document service with a culture option
added the new search_hit service with score and page_id options

added page_i18n_builder service to listen page creation and create missing translations
removed search_engine logger dependency
removed search_index logger and filesystem dependencies
removed layoutType index on DmArea table
changed front and admin automatic functional tests default env to prod
fixed dmRecordLoremizer on translatable tables

improved dmDoctrineQuery->whereIsActive method to handle translated is_active fields
added dmDoctrineQuery->fetchOneArray shortcut method
added dmDoctrineRecord->hasCurrentTranslation
enhanced dmDoctrineRecord preSave hook to notify an update even if only the translated table has been modified
added dmDoctrineRecord->toArrayWithI18n method
fixed dmDoctrineRecord->getI18nFallback() should return null on new records

removed translation table id field from human columns
made dmDoctrineTable->getColumnDefinition return the translated column definitions
made dmDoctrineTable->getIdentifierColumnName method use the translated fields
added dmFormDoctrine i18n fallback capabilities
added dmI18n->getCultures and setCultures method
refactored PluginDmAutoSeoTable

improved performances on DmLayout creation
fixed action modification detection when saving a DmPage record
added dm.page_post_save event
removed deprecated PluginDmPage->getDmAutoSeo() method
made PluginDmPageTable->findOneBySlug method use an innerJoin for the translation as we search on the translated slug
added PluginDmWidget->toArrayWithMappedValue() method with i18n fallback capability for value field

fixed bug when refreshing page on dmPageSynchronizer before moving it in the tree
made dmPageTreeWatcher synchronize SEO for each culture
added dmBackup->setDir method to ease unit tests
deprecated dmFrontPageIndexableContentTask
fixed dm:setup task when no models are declared in user schema.yml
added dmSyncPageTask

removed deprecated dmGenerateMigrationTask
made dmFrontFunctionalTest expect a 401 status code on login page
made dmSeoSynchronizerThread run the synchronization for each culture
removed culture tests in dmCoreUser to ease multilingual tests
fixed dmLinkTag attributes to remove
fixed dmLinkTag detection of empty params

added 21 unit test files
made dmTestHelper and dmPageTestHelper more robust
made culture selection in front application follow the current page even if the slug has changed
added widget_css_class_pattern page_helper option
removed page_helper_service dependence to i18n service
added automatic i18n query inclusion on front list component

fixed dmWidgetBaseForm use latest widget default value to use the translated value
made dmFrontPageViewHelper and dmFrontPageEditHelper extend dmFrontPageBaseHelper
made front_helper service extend dmConfigurable and easier to extend
dropped compatibility fix on front base actions

pkToolkitPlugin: fixed bug that doesn't allow 12PM times to validate, removed logging calls that were superfluous and also invoked getSql() which no longer exists in 1.2, changed redirection code from 302 to 301 ( moved permanently ) in dmInitFilter->redirectTrailingSlash and dmFrontInitFilter->redirectNoScriptName, pkTrace now loads helpers the Symfony 1.3+ way

ncPropelChangeLogBehaviorPlugin: if a modified column does not exist anymore the plugin won't throw an exception as it used to, tables without 'created_at' field will work as well, replaced 'getId' with 'getPrimaryKey' in ncPropelChangeLogBehavior, if a related table has multiple columns pointing to the object that is beign inspected all of them will be look for changes, fix for error while looking for changes in related objects without the 'changelog' behavior or the 'toString' method
pkContextCMSPlugin: getTreeInfo and getAccordionInfo now respect the $livingOnly parameter properly, navigation changes, history browser now shows the latest 10 revisions, various forms built with helpers have been converted to Symfony forms, the breadcrumb can now be extended with additional li's via the _breadcrumbExtra partial
csDoctrineActAsAttachablePlugin: removed __call method from template which causes problems if multiple templates are being used, improved helper
sfDoctrineApplyPlugin: Zend should NOT be the fallback autoloader
sfAdminDashPlugin: lots of improvements

sfPhpDocPlugin: edited packages.xml for 2.0.0 release
sfDatagridPlugin: set one formatter per ORM
sfSocialPlugin: made fully compatible with symfony 1.4, minor aesthetic fixes
sfAssetsLibraryPlugin: improved compatibility with sf1.4
sfEasyAuthPlugin: removed generated base classes from the repo, implemented a new remember me feature that works and doesn't touch the database, updated documentation

sfDoctrineGuardExtraPlugin: use new mailer system, removed retrieveByUsernameOrEmailAddress model function, removed sfGuardExtraMail class, moved mail code to seperate function to better override, fixed coding standards, change from Doctrine to Doctrine_Core, fixed coding standard, changed email send methods to public to access from other actions
iaBotControlPlugin: removed deprecated call to Form helper
csDoctrineActAsSortablePlugin: adds error handling for uniqueBy option, fixed sortTableProxy function
pkBlogPlugin: changed template for pkContextCMSBlogEven, in excerpt view posts and events show a 75 word preview of the post if there is no excerpt, attached media now full width above post, fixed date format, added support for event start and end times
sfZendMailPlugin: added clearAttachments helper method

sfSympalPlugin:

tons of updates for Symfony 1.4
fix for lazy loading
added test for query count
fixed submenus
fixed double call of label getter

made menu manager configurable
made plugin schema file check less restrictive
fixed invalid HTML
fixed Internet Explorer JavaScript errors
removed duplicate field from menu item admin gen
fixed issue with disabling i18n

fixed ContentList sorting
fixed plugin enabling
fixed current ancestor
fix when secondary menu doesn't exist
fix to allow the configuring of layout for non sympal content
query optimizations

made breadcrumbs class configurable
moved \ route to end to allow overriding
added register event
fix for configuration form showing hidden fields
added admin generator styling
Dashboard style changes

fixed blog install
moved code to sympal_edit_slot module
fixed content list filtering
added rounded corners to top menu bar
removed sidebar and reimplemented the menu management of the tree
refactored routing to be a bit simpler

fixed issue with updated_at not being unset from form
removed right sidebar from dashboard

sfImageTransformPlugin: supported symfony 1.3/1.4 plus other bug fixes
sfMediaLibrary: changed directory structure to the standard one, started to refactor the plugin

sfLucenePlugin: removed sfContext dependency, updated unit test, cleaned API, replaced lime_test::get_temp_directory() calls to sys_get_temp_dir(), updated task to work with the provided sfApplicationConfiguration, updated model behavior to work with the provided sfApplicationConfiguration, added faceting search, removed sfLucene object from sfLuceneCriteria, handle multiValued field right from the indexer, add default value with sort in sfLuceneCriteria, added default value for criteria, updated unit test
sfExtjsThemePlugin: replaced instances of sfLoader::loadHelpers() method with method from sfApplicationConfiguration, fixed bug with missing statement close when credentials are configured for a boolean column, added preliminary support for credentials to editformpanel, added config option to generator to not use unique id's with the grid jsonreader, switched from record.id to safer record.get('id'), fixed warning in editformpanel if no credetials defined
sfPaymentPlugin: added external definition to the dependency injection component, renamed sfTransactionAdapterInterface to sfTransactionGatewayInterface
sfSympalDoctrineThemePlugin: updated theme
sfSympalJwageThemePlugin: updated jwage theme

sfSympalCommentsPlugin: fixed request param syntax
sfDateTime2Plugin: updated deprecated sfLoader::loadHelpers methods
sfUnobstrusiveWidgetPlugin: disable datepicker if the related input (or select) is disabled
swFunctionalTestGenerationPlugin: added support for test-formatter / skeletons

New symfony powered websites

Online-Slovník.cz: (Czech) Czech-English dictionary
dum-zahrada-shop.cz: (Czech, and Slovak) electric tools, household articles e-shop
greenhell.cz: (Czech) carp fishing competition

seminare.fav.zcu.cz: (Czech) seminars at FAV / University of West Bohemia in Pilsen
Openchords.org: (English) enter or search GUITAR CHORDS, listen to them on the fly and arrange the results. It enables you to listen to complete arrangements and send them to anyone, anywhere
PCMasters: (Deutsch) German technology news paper

They talked about us

Symfony prints your titles twice
Critique du livre «Symfony 1.3 Web Application Development»
Netbeans 6.8 et le support de Symfony
symfony APC cache and Memcache session storage
Symfony: Plugins para las versiones 1.3/1.4
Se publican Symfony 1.3 y 1.4

Symfony: diferencias entre las versiones 1.3 y 1.4
Sono usciti symfony 1.3 e symfony 1.4
Symfony 1.3 und 1.4 veröffentlicht
Today is symfony Project Day
C’est symfony day!
Más con Symfony, el libro definitivo

The symfony 2009 advent calendar: More with symfony
Symfony 1.3 y 1.4 ya disponibles
Retrieve session timeout in Symfony
A day filled with symfony news
Say hello to symfony 1.4.0 and more!
Diem plugins are here

Enrutamiento avanzado (primera parte)
sfYandexYMLPlugin – генерация YML для Яндекс.Маркета
Zwei neue Versionen des Symfony-Frameworks
More with symfony: a whole chapter devoted to the sfFacebookConnect Plugin
Change from Doctrine to Doctrine_Core with one command
PHPフレームワーク「Symfony」の最新版が登場

Saving Search Filters in Symfony's Doctrine Admin
Sensio Labs annonce Symfony 1.4
Sensio Labs: un Calendrier de l'Avent autour de Symfony 1.4
The rich text editor sfRichTextEditortrue does not exist
Symfony 1.4 est arrivé chez Sensio Labs
PHPフレームワーク「Symfony」の最新版が登場

Enrutamiento avanzado, segunda parte
Que de news : sf1.2.10, 1.3, 1.4 et un nouveau livre !
Announcing the guide to Doctrine migrations
symfony 1.3 и 1.4 -- новая версия PHP-фреймворка
オープンソースのPHPフレームワーク「symfony 1.3」「symfony 1.4」の安定版が公開
Symfony: soporte en netbeans 6.8

Simplifying CSS sprites with the sgLESSPlugin
rto: Learn coding from the symfony core team!
Symfony Quick Tip: Forward vs Redirect
[symfony 1.4] Exécuter une tâche dans un module
Mejora tu productividad
Calendrier de Symfony

PHP: une foule d’annonces autour de la sortie du framework Symfony 1.4
More calendars to watch
Enviando emails, primera parte
upgrade to symfony 1.4
Enviando emails, segunda parte
Вышли релиз-кандидаты сразу двух версий symfony 1.3 и 1.4

symfony-project.org перешел на 1.4
Плагины для symfony 1.3/1.4
Релиз 1.2.10
Релиз 1.3/1.4
Conférence Symfony Live 2010
Double helping of PHP framework Symfony

Symfony – sfFormExtraPlugin – Select Double List, Maintain Order
symfony のスタックトレースのファイルリンクをemacsで開く
Symfony Probleme
Symfony i18n con gettext
Hosting symfony based website with nginx
Symfony, Routing, роутинг

A quick rundown on PHP Symfony directory hierarchy
Fixtures para objetos I18n en Doctrine
symfony Advent Calendar
Zwei auf einen Streich: Symfony 1.3 und 1.4 sind da
Nova versão do Framework para PHP symfony
Symfony Live, Episode II, du 15 au 17 février à Paris

Nova versão do Framework para PHP symfony
Actualización de Symfony 1.2.10
sfDocTestPlugin 0.2.8をリリースしました
Framework PHP Symfony ukazuje się dubeltowo
symfonyからのクリスマスプレゼント
Today is symfony Project Day

symfony 1.4でプラグインがインストールできない
Cargando un Helper en Symfony desde el Action
symfonyをウェブルートディレクトリではなく、一つ下の階層に入れた場合とかの設定(特にルーティング)のメモ

Be trained by symfony experts
- Dec 16 Paris - Dec 28 Online - Jan 05 Paris - Jan 06 Online - Jan 20 Paris [Less]

Enviando emails, primera parte