symfony for non-techies
Post on 23-Jun-2015
3.644 Views
Preview:
DESCRIPTION
TRANSCRIPT
Ibuildings
for non-techies
Ibuildings Presentation
Version 10
www.ibuildings.nl+31 118 429 550info@ibuildings.nl
IbuildingsThe PHP Professionals
Monday, December 10, 2007 2
Contents of this presentation
• What is symfony?• Symfony timeline
History Present Future
• Technology for non-techies Buzzwords But is it that interesting? And what does it do?
Monday, December 10, 2007 3
What is symfony?
• PHP5 Web Application Framework Aims at bringing open source to the enterprise Wants to speed up development of web applications Wants to offer maintainability and structure Wants to offer professionalism Supports “agile” development Is easily extendable Provides standard web security options Not written from scratch, but based on existing open source
projects
But ... it’s french ;)
Monday, December 10, 2007
Symfony timeline: History
• Symfony is relatively young 2005 saw the first release 2007: first stable release (1.0.0)
• Ideas floating in the head of Fabien Potencier since 2003
• Since early releases, a community began to grow
4
Monday, December 10, 2007
Symfony timeline: Present
• Symfony version 1.0.9• A lot of development for symfony 1.1• 100’s of open source plugins• Big community spread out over forums, Google
groups and local symfony portals• An ever-growing list of applications build with
symfony• An ever-growing list of companies using symfony
5
Monday, December 10, 2007
Symfony timeline: Future
• Coming soon: Symfony 1.1 The first step towards a leaner, meaner 2.0 Mainly optimization and a few new features
• 2008: Symfony 2.0 Completely rewritten Less magic, clearer code Faaaaasssstttteeeerrrrr
• But... Symfony 1.0 will be supported with bugfixes and
security patches for a long time to come Upgrade path from symfony 1.0 to 1.1
6
Monday, December 10, 2007
Technology for non-techies
7
Monday, December 10, 2007
Buzzwords..eh..Buzz Acronyms
• AJAX• RSS/ATOM• RAD/XP• DRY• KISS
8
Monday, December 10, 2007
But is it that interesting?
• Very free license: MIT Do whatever you want with it Just leave the copyrights
• Stable Minor releases only contain bugfixes or very minor
additions Only major releases *may* break backwards
compatibility Monthly release schedule
• Based on best practices• Aimed at the enterprise from the start
9
Monday, December 10, 2007
But is it that interesting?
• It wants to lower development cost Lower cost-per-line
• Easier testing• Simpler maintainance
– Results in lower overall cost
Less lines of code• Configurable options• Autoloading• Automating standard tasks
– Results in less bugs– Results in less code to write– Results in lower overall cost
10
Monday, December 10, 2007
But is it that interesting?
• It wants to result in higher quality PHP5 MVC and other “design patterns” Object oriented Documentation Security Unit and Functional testing Agile approach
11
Monday, December 10, 2007
And what does it do?
• Complete application structure All applications have a similar structure Basic structure is created automatically A lot of configurable features, such as routing, display
options, security, caching, and much more
• Applications are split into modules For instance: news, projects, contact Basic module structure is created automatically Module-specific configuration as well as overruling
application-configuration
12
Monday, December 10, 2007
And what does it do?
13
Monday, December 10, 2007
And what does it do?
• Debugging help for developers Faster debugging and optimizing with debug toolbar
Full flow can be tracked, making it easy to find out why certain things happen in a page
14
Monday, December 10, 2007
And what does it do?
• Debugging continued... Same overlay for database queries and variables and
configuration settings Optimization overlay: check which parts of a page takes
longer
15
Monday, December 10, 2007
And what does it do?• Database abstraction and
ORM using Propel/Creole Automation of model creation All data logic in models, models
expose the data to the application
Easily extendable without losing custom code
• Easy templating No template engine; view should
not contain any complicated logic anyway
Global template for overall layout
Partials, components, slots for sharing info between modules
16
Monday, December 10, 2007
And what does it do?
• Form validation No annoyingly long coding, checking all form fields A simple configuration file is enough for standard
validation Easily write custom validators
• Easy AJAX integration No need to write javascript anymore for most common
AJAX uses Everything in easy to use php functions that generate
and inject the javascript code Can support fallback for browsers that do not support
javascript
17
Monday, December 10, 2007
And what does it do?
• Routing and SEO “Friendly” URLs by default Can be made more friendly by the routing system
• Routing based on simple configuration file• Routing system is based on Ruby on Rails routing• /news/article/id/536 can be /news/536 with simple
configuration• /news/article/id/536 can be
/news/this_is_some_great_news with a little extra logic Route changes in configuration will reflect links in the
application if the special url_for() and link_to() functions are being used
18
Monday, December 10, 2007
And what does it do?
• Speed and performance Caching of configuration Caching of pages; even up to actually creating static
HTML pages Caching of components, slots and partials Caching of parts of your template Debug mode will show which parts are cached
• i18n and i10n Can be configured per application or module Can be changed dynamically (for instance when a user
logs in) Support of XML Localization Interchange File Format
(XLIFF) standard format
19
Monday, December 10, 2007
And what does it do?
• Generators Admin generator will generate a basic management
interface• Uses database relations if defined• Highly configurable without any coding• Can easily get a custom layout
Custom generators allow automating even more tasks• You can easily write your own generator templates to
generate your own pieces of code
• Unit and functional testing Built in unit and functional testing framework Better code, easier testing
• Easy deployment Single command for deploying application
20
Monday, December 10, 2007
And what does it do?
• Highly extendable Use Zend Framework or ezComponents in symfony
without a hassle Use plugins to instantly add new functionality to your
application Write your own plugins to share your own functionality
across projects, or with the community One of the most important plugins: sfZendLucene
(integrating Zend Framework Lucene search with your symfony application)
Lots of other plugins: CMS, discussion forum, weblog, Yahoo! UI, Urchin/Google Analytics integration, several PDF generators, JPGraph, several payment processors (Paypal, EchoPay, AuthorizeNet), sfGuard (full using authentication), and many more
21
Monday, December 10, 2007
Questions?
22
?
top related