Slide 1: Philosophy in Programming Society
SOCIETY
Ph.P
Slide 2: Michael Cheng
President / Founder, Philosophy in Programming Society michael.cheng@php.org.sg (Zend Certified Engineer)
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 3: About Us
• •
Started Singapore PHP User Group in 2006 Regular monthly meetups since November 2007 (average turn out of 50 members); 700+ members to date.
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 4: PHP Meetup Microsoft Singapore
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 5: PHP Meetup Oracle Singapore
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 6: PHP Meetup Yahoo! Singapore
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 7: Events
• 2nd Facebook Developer Garage at 2008). Microsoft Singapore Auditorium (5 March
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 8: PHP-IBM developerWorks Series
Date: 25 June 2009 / 3 Sept 2009
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 9: The Philosophy in Programming Society
• •
Registered as Ph.P Society in July 2008. Endorsed By:
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 10: Philosophy in Programming Society
SOCIETY
Ph.P
• • •
Navigation device Points the way / charts the path Mission
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 11: Technology Partner
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 12: Philosophy in Programming Society
SOCIETY
Ph.P
PHP Programming Course
Slide 13: Schools Support
SMU, NTU, NUS, NYP, SP, NP, RP
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 14: Is PHP for YOU?
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 15: YES!
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 16: Benefits
• • • • • • •
Easy to pick-up. Syntax close to C. Motto: “Get Stuff Done Now”. Simplicity & Versatility. Interpreted not compiled.
•
Just upload and its done!
Support rapid & agile development. Ubiquity of web servers that supports PHP. Lower TCO.
SOCIETY
Ph.P
Philosophy in Programming Society
Slide 17: Building Blocks of WWW
=
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 18: Time To Move Up...
Let’s Build Skyscrapers
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 19: Philosophy in Programming Society
SOCIETY
Ph.P
Slide 20: 3 Steps to ROI Fast!
1 Build The Team 2 Get The Right Tools 3 Processes & Frameworks
SOCIETY
Ph.P
Philosophy in Programming Society
Slide 21: 1. The Team
• • • •
Who’s on your team now? Who do you need to hire? Outsource? Training internally? Bulk up on PHP knowledge. Trial and error? Can you afford the time? Recommendation: PHP Certification to fast-track your learning process.
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 22: Testimonial
“The training program has given me much more confidence in PHP and added capabilities”
Leong Hean Hong
CBS Interactive (CNET Asia) NTU Graduate Zend Certified Engineer
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 23: Testimonial
“This course has provided me with the technical and real-world knowledge in the relevant areas I need for my job, especially in areas where I foresee that I would face difficulties with. The training program is very good and I highly recommend it.”
Tham Kong Wai
Software Engineer (Java, VB & ASP)
Company specializes in embedded systems
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 24: Testimonial
“Understanding the PHP codes has empowered me to make informed decisions about timeline and deliverables management. I have a better understanding of how realistic customer requirements are... you have given me an invaluable tool.”
Lawrence Chong
Project Manager, InfoValues Pte Ltd
Company specializes in customized open source KM & CRM solutions
Ph.P
Philosophy in Programming Society
SOCIETY
Slide 25: (March 2010 Intake Open)
Sat, March 27, 2010
PHP Programming
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 26: 2. Tools
• •
The right tools help you get productive fast.
Step 4 - Tools
Development Platform:
• •
• • • • •
Zend Studio PDT • Eclipse
Development:
Eclipse• PDT / PHPClipse
Zend Studio PhpEd KomodoVim Komodo
Version Control
• • •
• Syntax Check Unit Testing / Debugging / Navigation • Cross-Referencing
PHP Unit, XDebug, Zend Debugger
Philosophy in Programming Society
Subversion / GIT Profiling • Debugging &
IDE’s versus Editors
SOCIETY
Ph.P
Slide 27: 2. Tools
•
Recommendations:
• • • •
Leverage on current development environment. Version control *very* important for teams. Debug and test early to avoid problems later in deployment / production environment. Automate the testing process as much as possible using unit testing (they call it “sanity check” for a reason).
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 28: 2. Tools for Testing
• •
Testing for PHP applications:
• • • •
PHPUnit http://www.phpunit.de/ SimpleTest http://www.lastcraft.com/simple_test.php CruiseControl http://cruisecontrol.sourceforge.net/ phpUnderControl http://www.phpundercontrol.org/
Continuous Integration:
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 29: 2. Tools
•
Basic server installation.
Linux
Apache
Windows
IIS Database
PHP
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 30: Philosophy in Programming Society
SOCIETY
Ph.P
Slide 31: 3. Processes & Frameworks
• •
Don’t be so Step to jump into coding. eager 3 - Architecture
•
• • • •
Data modeling. Technical Design
• Class Diagrams Collaboration diagram. • ER Diagrams (data model) • Collaboration Diagrams Use • Use Cases etc. cases. Tools: •Level Architectures High • UML • Whiteboards Design Patterns •
SOA
SOCIETY
• Modeling Class diagrams.
Ph.P
Philosophy in Programming Society
Slide 32: 3. Processes & Frameworks
• • •
Good foundation will help in making your code more maintainable and scalable. SOP & Best Practices Use a framework
• • • •
Zend Framework (http://framework.zend.com) CakePHP (http://cakephp.org) Symfony (http://www.symfony-project.org) Code Ignitor (http://codeigniter.com/)
Ph.P
Philosophy in Programming Society
SOCIETY
Slide 33: 3. Processes & Frameworks
•
Extendable & Customisable Open Source Software
• •
• • •
WordPress, Drupal, Joomla Alfresco, SugarCRM, VTiger Megento, OSCommerce, ZenCart
Forces developers to adhere to certain way of doing things. Convention over complex configs. Best practices and knowledge easily transferrable when working with frameworks / patterns.
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 34: 3. Processes & Frameworks
•
Recommendations:
• • •
Use a methodology that suits your corporate culture. Agile Methodology isn’t for everyone. Rule of Thumb: General PHP knowledge over product knowledge - but deep product knowledge can help you to specialize & valueadd. Ultimately, go where the demand is. Evaluate carefully, don’t rush into it. Weight the pros and cons and stick to a framework when you have made the decision.
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 35: (March 2010 Intake Open)
Sat, March 27, 2010
PHP Programming
Philosophy in Programming Society
SOCIETY
Ph.P
Slide 36: Michael Cheng
President / Founder, Philosophy in Programming Society michael.cheng@php.org.sg (Zend Certified Engineer)
Philosophy in Programming Society
SOCIETY
Ph.P