Ph.P
SOCIETY
Philosophy in Programming Society
Ph.P
SOCIETY
Philosophy in Programming Society
Michael Cheng
President / Founder,
Philosophy in Programming Society
michael.cheng@php.org.sg
(Zend Certified Engineer)
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.
Ph.P
SOCIETY
Philosophy in Programming Society
PHP Meetup
Microsoft Singapore
Ph.P
SOCIETY
Philosophy in Programming Society
PHP Meetup
Oracle Singapore
Ph.P
SOCIETY
Philosophy in Programming Society
PHP Meetup
Yahoo! Singapore
Ph.P
SOCIETY
Philosophy in Programming Society
Events
• 2nd Facebook Developer Garage at
Microsoft Singapore Auditorium (5 March 2008).
Ph.P
SOCIETY
Philosophy in Programming Society
PHP-IBM
developerWorks Series
Date: 25 June 2009 / 3 Sept 2009
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:
Ph.P
SOCIETY
Philosophy in Programming Society
• Navigation device
• Points the way / charts the path
• Mission
Ph.P
SOCIETY
Philosophy in Programming Society
Ph.P
SOCIETY
Philosophy in Programming Society
Technology Partner
Ph.P
SOCIETY
Philosophy in Programming Society
PHP Programming Course
Ph.P
SOCIETY
Philosophy in Programming Society
Schools Support
SMU, NTU,
NUS, NYP, SP,
NP, RP
Ph.P
SOCIETY
Philosophy in Programming Society
Is PHP forYOU?
Ph.P
SOCIETY
Philosophy in Programming Society
YES!
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.
Ph.P
SOCIETY
Philosophy in Programming Society
=
Building Blocks of WWW
Ph.P
SOCIETY
Philosophy in Programming Society
Time To Move Up...
Ph.P
SOCIETY
Philosophy in Programming Society
Let’s Build Skyscrapers
Ph.P
SOCIETY
Philosophy in Programming Society
Ph.P
SOCIETY
Philosophy in Programming Society
3 Steps to ROI Fast!
1
2
3
Build The Team
Get The Right Tools
Processes & Frameworks
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.
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”
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.”
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.”
Ph.P
SOCIETY
Philosophy in Programming Society
PHP Programming
(March 2010 Intake Open)
Sat, March 27, 2010
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
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).
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/
Ph.P
SOCIETY
Philosophy in Programming Society
2.Tools
Linux
Apache
PHP
Database
• Basic server installation.
Windows
IIS
Ph.P
SOCIETY
Philosophy in Programming Society
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
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/)
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.
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.
Ph.P
SOCIETY
Philosophy in Programming Society
PHP Programming
(March 2010 Intake Open)
Sat, March 27, 2010
Ph.P
SOCIETY
Philosophy in Programming Society
Michael Cheng
President / Founder,
Philosophy in Programming Society
michael.cheng@php.org.sg
(Zend Certified Engineer)

Accelerate the ROI of PHP in your Enterprise

  • 1.
  • 2.
    Ph.P SOCIETY Philosophy in ProgrammingSociety Michael Cheng President / Founder, Philosophy in Programming Society michael.cheng@php.org.sg (Zend Certified Engineer)
  • 3.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 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.
  • 4.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP Meetup Microsoft Singapore
  • 5.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP Meetup Oracle Singapore
  • 6.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP Meetup Yahoo! Singapore
  • 7.
    Ph.P SOCIETY Philosophy in ProgrammingSociety Events • 2nd Facebook Developer Garage at Microsoft Singapore Auditorium (5 March 2008).
  • 8.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP-IBM developerWorks Series Date: 25 June 2009 / 3 Sept 2009
  • 9.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 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 ProgrammingSociety • Navigation device • Points the way / charts the path • Mission Ph.P SOCIETY Philosophy in Programming Society
  • 11.
    Ph.P SOCIETY Philosophy in ProgrammingSociety Technology Partner
  • 12.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP Programming Course
  • 13.
    Ph.P SOCIETY Philosophy in ProgrammingSociety Schools Support SMU, NTU, NUS, NYP, SP, NP, RP
  • 14.
  • 15.
  • 16.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 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.
  • 17.
    Ph.P SOCIETY Philosophy in ProgrammingSociety = Building Blocks of WWW
  • 18.
    Ph.P SOCIETY Philosophy in ProgrammingSociety Time To Move Up... Ph.P SOCIETY Philosophy in Programming Society Let’s Build Skyscrapers
  • 19.
  • 20.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 3 Steps to ROI Fast! 1 2 3 Build The Team Get The Right Tools Processes & Frameworks
  • 21.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 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 ProgrammingSociety 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 ProgrammingSociety 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 ProgrammingSociety 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.”
  • 25.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP Programming (March 2010 Intake Open) Sat, March 27, 2010
  • 26.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 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 ProgrammingSociety 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 ProgrammingSociety 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/
  • 29.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 2.Tools Linux Apache PHP Database • Basic server installation. Windows IIS
  • 30.
  • 31.
    Ph.P SOCIETY Philosophy in ProgrammingSociety 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 ProgrammingSociety 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 ProgrammingSociety 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 ProgrammingSociety 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.
  • 35.
    Ph.P SOCIETY Philosophy in ProgrammingSociety PHP Programming (March 2010 Intake Open) Sat, March 27, 2010
  • 36.
    Ph.P SOCIETY Philosophy in ProgrammingSociety Michael Cheng President / Founder, Philosophy in Programming Society michael.cheng@php.org.sg (Zend Certified Engineer)