The Philosophy in Programming Society is a Singapore-based organization that was started in 2006 to promote PHP programming. It holds regular monthly meetups with companies like Microsoft, Oracle, and Yahoo where it has had over 700 members participate. It provides PHP training and certification courses to help developers gain skills and has partnerships with schools and technology companies. The document discusses recommendations for developers to get a fast ROI with PHP, including building a team with PHP knowledge, using the right tools like frameworks and version control, and following good processes with modeling, design patterns, and methodologies.
2. Ph.P
SOCIETY
Philosophy in Programming Society
Michael Cheng
President / Founder,
Philosophy in Programming Society
michael.cheng@php.org.sg
(Zend Certified Engineer)
3. Ph.P
SOCIETY
Philosophy in Programming Society
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.
9. Ph.P
SOCIETY
Philosophy in Programming Society
Ph.P
SOCIETY
Philosophy in Programming Society
The Philosophy in
Programming Society
• Registered as Ph.P Society in July 2008.
• Endorsed By:
10. Ph.P
SOCIETY
Philosophy in Programming Society
• Navigation device
• Points the way / charts the path
• Mission
Ph.P
SOCIETY
Philosophy in Programming Society
16. Ph.P
SOCIETY
Philosophy in Programming Society
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.
21. Ph.P
SOCIETY
Philosophy in Programming Society
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.
22. Ph.P
SOCIETY
Philosophy in Programming Society
Testimonial
Leong Hean Hong
CBS Interactive (CNET Asia)
NTU Graduate
Zend Certified Engineer
“The training program has
given me much more
confidence in PHP and added
capabilities”
23. Ph.P
SOCIETY
Philosophy in Programming Society
Testimonial
Tham Kong Wai
Software Engineer (Java,VB & ASP)
Company specializes in embedded systems
“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.”
24. Ph.P
SOCIETY
Philosophy in Programming Society
Testimonial
Lawrence Chong
Project Manager, InfoValues Pte Ltd
Company specializes in customized
open source KM & CRM solutions
“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.”
26. Ph.P
SOCIETY
Philosophy in Programming Society
2.Tools
• The right tools help you get productive fast.
• Development Platform:
• Zend Studio
• Eclipse PDT / PHPClipse
• Komodo
• Version Control
• Subversion / GIT
• Unit Testing / Debugging
• PHP Unit, XDebug, Zend Debugger
Step 4 - Tools
Development:
• Eclipse PDT
• Zend Studio
• PhpEd
• Vim
• Komodo
IDE’s versus Editors
• Debugging & Profiling
• Syntax Check
• Cross-Referencing / Navigation
27. Ph.P
SOCIETY
Philosophy in Programming Society
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).
28. Ph.P
SOCIETY
Philosophy in Programming Society
2.Tools for Testing
• Testing for PHP applications:
• PHPUnit http://www.phpunit.de/
• SimpleTest http://www.lastcraft.com/simple_test.php
• Continuous Integration:
• CruiseControl http://cruisecontrol.sourceforge.net/
• phpUnderControl http://www.phpundercontrol.org/
31. Ph.P
SOCIETY
Philosophy in Programming Society
3. Processes & Frameworks
• Don’t be so eager to jump into coding.
• Data modeling.
• Class diagrams.
• Collaboration diagram.
• Use cases.
• High Level Architectures
• Design Patterns
• SOA
Technical Design
• Modeling
• Class Diagrams
• ER Diagrams (data model)
• Collaboration Diagrams
• Use Cases etc.
• Tools:
• UML
• Whiteboards
Step 3 - Architecture
32. Ph.P
SOCIETY
Philosophy in Programming Society
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/)
33. Ph.P
SOCIETY
Philosophy in Programming Society
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.
34. Ph.P
SOCIETY
Philosophy in Programming Society
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 & value-
add.
• 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.
36. Ph.P
SOCIETY
Philosophy in Programming Society
Michael Cheng
President / Founder,
Philosophy in Programming Society
michael.cheng@php.org.sg
(Zend Certified Engineer)