Upload
brett-harris
View
33.123
Download
1
Embed Size (px)
DESCRIPTION
ZendCon 2008 presentation on Facebook Development using Zend Framework
Citation preview
2. Make it work. Make it right. Make it fast. Make it fast. Make it fast. 3. Challenges
4. Development Environment& Deployment & Deployment
5. 3-Tier Architecture 6. 5-Tier Architecture 7. Development Environment
8. Proxy Pattern http://en.wikipedia.org/wiki/Proxy_pattern 9. Dev Environment Proxy 10. FBML Parser ...
... 11. FBML Parser Parsed by Facebook Not parsed Brett Harris is presenting at ZendCon 12. FBML Parser Proxy functionsmarty_function_fb_name( $params , & $smarty ) { if(Framework_Config::get( 'MODE')=='local' ) { return 'Grant Raphael' ; } $fbml ='$value ) { $fbml .=$key.'="'. addslashes( $value ) .'"' ; } $fbml .=' />' ; return $fbml ; } http://smarty.net/manual/en/plugins.php 13. FBML Parsing Mock ... {fb_profile_pic uid="12345" size="thumb" } {fb_name uid="12345" }
{fb_user_status uid="12345" linked="false" }
... 14. FBML Parsing Mock Grant Raphael is updating their status Parsed by Facebook Not parsed Brett Harris is speaking at ZendCon 15. Configuration
[environments] dev_foo_com= DEV www_foo_com= LIVE [DEV] APP_NAME= sample_application BASE_DIR= /var/www/html/sample ETC_DIR= /var/www/html/sample/FBFramework/application/etc MODEL_DIR= /var/www/html/sample/FBFramework/application/model CONTROLLER_DIR= /var/www/html/sample/FBFramework/application/controller VIEW_DIR= /var/www/html/sample/FBFramework/application/public/view COMPILE_DIR= /tmp/templates_c SESSION_DIR= /tmp/sessions FRAMEWORK_DIR= /var/www/html/sample/FBFramework/Framework UI_DIR= /var/www/html/sample/FBFramework/Framework/UI DEFAULT_CONTROLLER= index DEFAULT_ACTION= index VIEW_EXTENSION= tpl BASE_URL=http://dev.foo.com/sample EXTERNAL_URL=http://dev.foo.com/sample MODE= local [facebook] FB_USER_ID= 1 FB_FRIENDS= 1,2,3,4,5 API_KEY= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SECRET_KEY= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SESSION_KEY= XXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXX 16. Differences from Normal Web
17. POST
18. POST
< html > ... < formmethod = "post"action = "{$EXTERNAL_URL}/item/save" >... form > ... html >
[environments] dev_foo_com= DEV [DEV] ... BASE_URL=http://apps.facebook.com/sample EXTERNAL_URL=http://dev.foo.com/sample 19. Header Redirects
20. Header Redirects
21. Learning Curve
22. FQL
23. ActiveRecord http://en.wikipedia.org/wiki/Active_record_pattern 24. Easier to learn 25. Dont build CRUD