Your SlideShare is downloading. ×
0
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Using symfony to save time, effort and sanity
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Using symfony to save time, effort and sanity

1,058

Published on

I'm highlighting some (hopefully) not-so-obvious reasons you'd consider using symfony in future

I'm highlighting some (hopefully) not-so-obvious reasons you'd consider using symfony in future

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,058
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Using symfony to save time, effort and sanity Joshua May
  2. Best of breed, cohesive suite of tools
  3. A blank canvas
  4. Sponsored by Sensio Labs
  5. Single lead developer Numerous core contributers
  6. In touch with competing frameworks
  7. Considered slow
  8. Fast enough for Yahoo! (answers, bookmarks, delicious.com)
  9. Fast enough for dailymotion.com (42 million uniques in December 2008)
  10. Symfony 2 is already faster! (see: components)
  11. Installation as an external library (PEAR, SVN, tarball)
  12. One library, one to many projects
  13. Persistence
  14. Doctrine or Propel
  15. External projects, well maintained
  16. Doctrine is the future!
  17. $user = new User(); $user->set(‘name’, ‘Joshua May’); $user->save();
  18. Environments
  19. Configuration per environment production, development, test
  20. config ------ all: enquiry: recipients: - boss@example.com - enquiries@example.com dev: enquiry: recipients: - notjosh@gmail.com code ---- $recipients = sfConfig::get(‘app_enquiry_recipients’);
  21. Debug toolbar
  22. Flexibility
  23. Configuration for almost everything available
  24. Forms
  25. Object oriented
  26. Form inheritance: class FeedbackForm extends ContactForm Easy CRUD: class UserForm extends BaseDoctrineForm
  27. Templatable fine or high level control
  28. Secure sfForm applies CSRF tokens
  29. Security
  30. CSRF Protection
  31. XSS Protection Transparent output escaping via: sfOutputEscaperArrayDecorator sfOutputEscaperGetterDecorator sfOutputEscaperIteratorDecorator sfOutputEscaperObjectDecorator
  32. Routing
  33. symfony 1.2 is REST compliant
  34. Bind URLs to resources sfDoctrineRoute /users /user/joshua
  35. Respect request formats /users.xml /user/joshua.xml
  36. Testing
  37. lime provides unit and functional testing based on the Test::More Perl library, and is TAP compliant
  38. PHPUnit friendly
  39. Documentation
  40. Documentation before release
  41. Available for free
  42. Hardcopy books available
  43. Taken seriously No exercises left to user, it’s very verbose
  44. Caching
  45. Full page or partial
  46. Easy CRUD via “admin generator”
  47. Understands relations
  48. Deployment
  49. rsync helpers
  50. Doctrine migrations
  51. Plugins
  52. Hundreds available antispam, user authentication, OpenID, blog, CMS, forum, PayPal, shopping carts, and on and on and on.....
  53. Vary in quality
  54. Event driven more flexible than concrete hooks
  55. Community
  56. IRC, mailing lists, forums
  57. Components
  58. Standalone tools
  59. Dependency Injection Event dispatcher YAML
  60. Quality
  61. Test coverage symfony 1.2 has 9233 tests
  62. Consistency
  63. Projects look the same
  64. Plugins follow form
  65. That’s all!
  66. @notjosh notjosh@gmail.com

×