Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rapid Prototyping with PHP
Search
Michael Cheng
January 25, 2013
Programming
480
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rapid Prototyping with PHP
The world of TDD, BDD and frameworks in PHP-land
Michael Cheng
January 25, 2013
More Decks by Michael Cheng
See All by Michael Cheng
Intro to GraphQL Workshop
miccheng
0
170
Prioritizing Technical Debt
miccheng
0
210
JuniorDevSG - Intro to Coding Dojo
miccheng
0
190
Intro to Web Development with PHP - Lesson 1
miccheng
0
160
Engineers.SG Volunteers Training (4 Aug 2018)
miccheng
0
120
Introduction to PHPConf.Asia 2018
miccheng
0
810
What about Ruby on Rails?... from a PHP Guy
miccheng
0
180
Engineers.SG Volunteers Training (July 2017)
miccheng
0
140
Concourse CI in the Wild
miccheng
0
280
Other Decks in Programming
See All in Programming
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
570
Are APIs Still Relevant in the AI Era?
soyuka
0
310
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
150
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.4k
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
160
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
210
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
300
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
320
First, design no harm
axbom
PRO
2
1.3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Design in an AI World
tapps
1
330
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
260
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
710
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
Transcript
Rapid Prototyping with PHP The world of TDD, BDD and
frameworks in PHP-land 1 Friday, 25 January, 13
Michael Cheng Senior Software Engineer, mig33 http://twitter.com/coderkungfu http://github.com/miccheng 2 Friday,
25 January, 13
Challenges of Rapid Prototyping • Build once and run everywhere
• Responsive web apps • Mobile apps • Use same backend - usually a REST service • Something that PHP is particularly good at 3 Friday, 25 January, 13
Phases 1. HTML mockups • eg. Backbone JS, Angular JS
2. Stub web services • Return dummy payload. 3. Final working web services 4 Friday, 25 January, 13
Doing PHP right • Use a framework • Use Composer
libraries for lower level functionalities (don't reinvent the wheel) • Keep it clean. Doesn't need to scale immediately. • Adhere to coding standards - PSR-0, 1, 2 • Practice TDD, BDD (if you can) 5 Friday, 25 January, 13
Full-Stack Frameworks • CakePHP (http://www.cakephp.org) • Lithium (http://lithify.me/) • CodeIgniter
(http://www.codeigniter.com) • Kohana, FuelPHP • Symfony (http://symfony.com/) • SilverStripe (http://www.silverstripe.org/) 6 Friday, 25 January, 13
REST Frameworks • Silex (http://silex.sensiolabs.org/) • Restler (http://luracast.com/products/restler/) • Recess
(http://www.recessframework.org/) 7 Friday, 25 January, 13
TDD/BDD • PHPUnit (http://phpunit.de) • Behat (http://behat.org/) • PHPSpec http://www.phpspec.net/
8 Friday, 25 January, 13
Composer http://getcomposer.org http://packagist.org General Purpose Libraries, frameworks, etc. 9 Friday,
25 January, 13
Common Standards • PHP Framework Interop Group (http://www.php-fig.org/) • PSR-0:
Autoloading Standard • PSR-1: Basic Coding Standard • PSR-2: Coding Style Guide • PSR-3: Logger Interface 10 Friday, 25 January, 13
Hosting PHP • Its everywhere! • AppFog (http://appfog.com) • Windows
Azure (http://windowsazure.com) 11 Friday, 25 January, 13
PHP the Right Way • http://www.phptherightway.com/ 12 Friday, 25 January,
13
Join Us! • Facebook Group (https://www.facebook.com/groups/ sghypertextpreprocessors/) • Download (http://php.net,
http://windows.php.net) 13 Friday, 25 January, 13