Symfony + Yui Web 2.0 Framework: Dustin Whittle Social Search Group
Symfony + Yui Web 2.0 Framework: Dustin Whittle Social Search Group
Symfony + Yui Web 2.0 Framework: Dustin Whittle Social Search Group
0 framework
Dustin Whittle
Social Search Group
1
Introduction
4
Why symfony?
• Agile Development
– Built on best practices using proven design patterns
– Built to factor out common patterns and allow developers to
focus on application logic
• Performance / Stability
– Proven to scale on very active web sites - Y!
– Tested code base (4000+ unit and functional tests)
• Maintainability
– Enforces consistency among developers
• Support
– Great documentation and very active community
5
Easy rich interactions in PHP
7
Integrated Javascript Libraries
8
AJAX Toolkit Integration
• Prototype/scriptaculous built-in
• Plugins available:
– sfUJSPlugin -> helpers for UJS via jQuery
– sfYUIPlugin -> helpers for YUI
• Build your own helpers
9
Why symfony + YUI?
• PHP Framework
• Javascript Framework
• CSS Framework
• Integrated Development Environment
– Helpers
• Controls
• Widgets
• Validation
– Debugging
• Integrated Logging Console
– IDE Support: Aptana
10
Why Yahoo User Interface?
11
Why YUI javascript framework?
• Debug Integration
– symfony / yui web debug toolbars
• Firebug console log integration
– Key shortcuts
• Symfony, yui, js shell, css reboot
– YAHOO.symfony.debug.logger
– YAHOO.symfony.debug.toolbar
14
symfony YUI Integration
15
symfony YUI Integration
• Layouts by default
– Reset-Fonts-Grids
– Base
– Skin (sam)
• YUI / symfony base js/css
• Appending events via sfYUIFilter
– ID generation for events
16
Symfony YUI Integration
• Helpers
– UJS (event driven)
• On* are now automatically events
– link_to_function, button_to_function
– Ajax
• link_to_remote, button_to_remote,
form_to_remote, remote_function
• sfYUI::connection()
17
symfony YUI Integration
• Helpers
– Controls
• input_date_tag -> YUI Calendar
• textarea_tag -> YUI Rich Text Editor
• slider_control -> YUI Slider
• input_autocomplete_tag -> YUI Autocomplete
– UI
• link_to_dialog -> modal dialog
• Tooltip -> tool tips
– Effects
• visual_effect | sfYUI::animation()
18
Easy AJAX
<div id=“content”></div>
19
A better AJAX (unobtrusive)
<div id=“content”></div>
20
Where to go from here?
• Read Documentation
– Yahoo Developer Network
• http://developer.yahoo.com/
– symfony Project
• http://symfony-project.com/book
21
Documentation
23
YAHOO IS HIRING
24
Enjoy the rest of the conference!
25