Symfony Yui Professional Web 204231
Transcript of Symfony Yui Professional Web 204231
-
8/6/2019 Symfony Yui Professional Web 204231
1/25
1
Dustin Whittle
Social Search Group
symfony + yui = web 2.0 framework
-
8/6/2019 Symfony Yui Professional Web 204231
2/25
2
Introduction
This session will cover rapidapplication development using the
symfony + yui platform.
Learn why YUI is the perfectcompliment to symfony, and how itwill make building web applications
faster, simpler, and morecompatible.
-
8/6/2019 Symfony Yui Professional Web 204231
3/25
3
What is the symfony project?
Full stack web application framework built forrapid application development
Written in PHP5
A growing community since 2005
Open source and free
Licensed under the MIT license
symfony is a web application framework,which automates most of the tedious tasks
of an AJAX developer
-
8/6/2019 Symfony Yui Professional Web 204231
4/25
4
Why a framework?
Another software layer (symfony, php, apache, linux/bsd)
Factors out common patterns
Code Structure / Layout
Configuration URL Routing
Authentication / Security
Form Validation / Repopulation
Internationalization / Localization
Frameworks provide a standard api
Encourages good design, leads to developer consistency
Long term maintainability
-
8/6/2019 Symfony Yui Professional Web 204231
5/25
5
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
-
8/6/2019 Symfony Yui Professional Web 204231
6/25
6
Easy rich interactions in PHP
Template Helpers inspired from Rails
Based on prototype/script.aculo.us
Easy implementations in one line of php
AJAX Interactions -> link_to_remote
Visual Effects -> visual_effect
Auto Complete -> input_autocomplete_tag
Inline Editing -> input_inline_editor_tag Drag and Drop -> draggable_element
Rich Text Editing -> textarea_tag w/ rich=tinymce|fck
Rich Calendar -> input_date_tag
-
8/6/2019 Symfony Yui Professional Web 204231
7/25
7
Integrate your own PHP libraries
Autoloading hooks for easy integration of
Zend Framework
EZ Components PEAR
Custom
-
8/6/2019 Symfony Yui Professional Web 204231
8/25
8
Integrated Javascript Libraries
Symfony makes it easy to build rich internet
applications
Prototype
Javascript framework
script.aculo.us
AJAX interactions
Visual Effects
TinyMCE
Rich Text Editor (WYSIWYG)
DynArch.com Rich Calendar
-
8/6/2019 Symfony Yui Professional Web 204231
9/25
9
AJAX Toolkit Integration
Prototype/scriptaculous built-in
Plugins available:
sfUJSPlugin -> helpers for UJS via jQuery
sfYUIPlugin -> helpers for YUI
Build your own helpers
-
8/6/2019 Symfony Yui Professional Web 204231
10/25
10
Why symfony + YUI?
PHP Framework
Javascript Framework
CSS Framework
Integrated Development Environment
Helpers
Controls
Widgets Validation
Debugging
Integrated Logging Console
IDE Support:A
ptana
-
8/6/2019 Symfony Yui Professional Web 204231
11/25
11
Why Yahoo UserInterface?
Industrial-grade JavaScript for DHTML andAjax. The same libraries that power Yahoo!today.
Yahoo! Design Patterns Library Our thinking and solutions on common interface
design issues.
Graded Browser Support
An inclusive definition of support and a frameworkfor taming the ever-expanding world of browsers andfrontend technologies.
Documentation
In depth examples and api documentation
-
8/6/2019 Symfony Yui Professional Web 204231
12/25
12
Why YUI javascript framework?
Debugging Environment (Logger+ Console)
Event System (for easy unobtrusive design)
Connection / XHR / AJAX
Animation & Effects
Autocomplete + Drag & Drop
Menus / Dialogs / Overlays / Tooltips /
Windows
Browser History Manager
Controls: Button, Slider, Calendar, Rich Text
Editor, Color Picker
-
8/6/2019 Symfony Yui Professional Web 204231
13/25
13
Why YUI css framework?
Neutralizes browser CSS styles to be
consistent between browsers
Foundation for typography and font-sizing Grids for quick / proven layouts
Over 1000 wireframes with online builder
Base applies consistent style foundationfor common elements
Supports skinning, default sam skin
-
8/6/2019 Symfony Yui Professional Web 204231
14/25
14
symfony YUIIntegration
Debug Integration
symfony / yui web debug toolbars
Firebug console log integration
Key shortcuts
Symfony, yui, js shell, css reboot
YA
HOO
.symfony.debug.logger YAHOO.symfony.debug.toolbar
-
8/6/2019 Symfony Yui Professional Web 204231
15/25
15
symfony YUIIntegration
Event System (YAHOO.symfony.event)
Subscriptions: available | ready
YAHOO.symfony.event.ready.subscribe(YAHOO.symfony.i
nitialize); Delegation when appropriate (parent -> child)
sfYUI::addEvent php behaviors
onclick|onsubmit| become events
Form Validation (YAHOO.symfony.form) Common Validations (required, regex, callbacks)
Configurable via class names or configuration
-
8/6/2019 Symfony Yui Professional Web 204231
16/25
16
symfony YUIIntegration
Layouts by default
Reset-Fonts-Grids
Base Skin (sam)
YUI / symfony base js/css
Appending events via sfYUIFilter
ID generation for events
-
8/6/2019 Symfony Yui Professional Web 204231
17/25
17
Symfony YUIIntegration
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()
-
8/6/2019 Symfony Yui Professional Web 204231
18/25
18
symfony YUIIntegration
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()
-
8/6/2019 Symfony Yui Professional Web 204231
19/25
19
Easy AJAX
-
8/6/2019 Symfony Yui Professional Web 204231
20/25
20
A better AJAX (unobtrusive)
Unobtrusively add events/behaviors to a page
-
8/6/2019 Symfony Yui Professional Web 204231
21/25
21
Where to go from here?
Read Documentation
Yahoo DeveloperNetwork
http://developer.yahoo.com/ symfony Project
http://symfony-project.com/book
-
8/6/2019 Symfony Yui Professional Web 204231
22/25
22
Documentation
The Definitive Guide to symfony
http://symfony-project.com/book/trunk
Released open source 1/29/2007
Licensed under GFDL
API Documentation
Good coverage
Wiki
Many useful guides and how to knowledge
Many user contributed tips
-
8/6/2019 Symfony Yui Professional Web 204231
23/25
23
Questions?
-
8/6/2019 Symfony Yui Professional Web 204231
24/25
24
YAHOO IS HIRING
Are you good with AJAX, PHP,
DHTML/XHTML, Javascript, CSS,Actionscript / Flash?
Then we have a job for you!
-
8/6/2019 Symfony Yui Professional Web 204231
25/25
25
Enjoy the rest of the conference!