accelerate the roi of php in your enterprise
DESCRIPTION
Michael Cheng, Ph.P Society - Founders of the Singapore PHP User GroupTRANSCRIPT
Ph.PSOCIETY
Philosophy in Programming Society
Ph.PSOCIETY
Philosophy in Programming Society
Michael ChengPresident / Founder,
Philosophy in Programming [email protected]
(Zend Certified Engineer)
Ph.PSOCIETY
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.PSOCIETY
Philosophy in Programming Society
PHP Meetup Microsoft Singapore
Ph.PSOCIETY
Philosophy in Programming Society
PHP Meetup Oracle Singapore
Ph.PSOCIETY
Philosophy in Programming Society
PHP Meetup Yahoo! Singapore
Ph.PSOCIETY
Philosophy in Programming Society
Events• 2nd Facebook Developer Garage at
Microsoft Singapore Auditorium (5 March 2008).
Ph.PSOCIETY
Philosophy in Programming Society
PHP-IBM developerWorks Series
Date: 25 June 2009 / 3 Sept 2009
Ph.PSOCIETY
Philosophy in Programming Society
Ph.PSOCIETY
Philosophy in Programming Society
The Philosophy in Programming Society
• Registered as Ph.P Society in July 2008.
• Endorsed By:
Ph.PSOCIETY
Philosophy in Programming Society
• Navigation device
• Points the way / charts the path
• Mission
Ph.PSOCIETY
Philosophy in Programming Society
Ph.PSOCIETY
Philosophy in Programming Society
Technology Partner
Ph.PSOCIETY
Philosophy in Programming Society
PHP Programming Course
Ph.PSOCIETY
Philosophy in Programming Society
Schools Support
SMU, NTU, NUS, NYP, SP,
NP, RP
Ph.PSOCIETY
Philosophy in Programming Society
Is PHP for YOU?
Ph.PSOCIETY
Philosophy in Programming Society
YES!
Ph.PSOCIETY
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.PSOCIETY
Philosophy in Programming Society
=
Building Blocks of WWW
Ph.PSOCIETY
Philosophy in Programming Society
Time To Move Up...
Ph.PSOCIETY
Philosophy in Programming Society
Let’s Build Skyscrapers
Ph.PSOCIETY
Philosophy in Programming Society
Ph.PSOCIETY
Philosophy in Programming Society
3 Steps to ROI Fast!
1
2
3
Build The Team
Get The Right Tools
Processes & Frameworks
Ph.PSOCIETY
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.PSOCIETY
Philosophy in Programming Society
Testimonial
Leong Hean HongCBS Interactive (CNET Asia)
NTU GraduateZend Certified Engineer
“The training program has given me much more
confidence in PHP and added capabilities”
Ph.PSOCIETY
Philosophy in Programming Society
Testimonial
Tham Kong WaiSoftware 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.PSOCIETY
Philosophy in Programming Society
Testimonial
Lawrence ChongProject Manager, InfoValues Pte Ltd
Company specializes in customizedopen 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.PSOCIETY
Philosophy in Programming Society
PHP Programming(March 2010 Intake Open)
Sat, March 27, 2010
Ph.PSOCIETY
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.PSOCIETY
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.PSOCIETY
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.PSOCIETY
Philosophy in Programming Society
2. Tools
Linux
Apache
PHP
Database
• Basic server installation.
Windows
IIS
Ph.PSOCIETY
Philosophy in Programming Society
Ph.PSOCIETY
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.PSOCIETY
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.PSOCIETY
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.PSOCIETY
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.PSOCIETY
Philosophy in Programming Society
PHP Programming(March 2010 Intake Open)
Sat, March 27, 2010
Ph.PSOCIETY
Philosophy in Programming Society
Michael ChengPresident / Founder,
Philosophy in Programming [email protected]
(Zend Certified Engineer)