PHP CMS vs PHP Frameworks

When to use any of them?

Philosophy in Programming Society

SOCIETY

Ph.P

CMS vs Frameworks
• Joomla • Drupal • Wordpress • TikiWiki • Zend Framework • CakePHP • Symfony • Code Ignitor
Ph.P

Philosophy in Programming Society

SOCIETY

Considerations

Complexity of Project

• • • •

Features Design Scale How much mid-course adjustments can you afford to make?

Development methodology

Philosophy in Programming Society

SOCIETY

Ph.P

Considerations

Make-up of Development Team

• • •

Single or Multiple members Functional roles Familiarity with CMS / Framework

Timeline

Philosophy in Programming Society

SOCIETY

Ph.P

Characteristics

Open Source CMS

• • • •

Basic set of functionalities Extensions required to enhance app Standard look & feel with fixed positioning of design elements Themes to customise look & feel

Philosophy in Programming Society

SOCIETY

Ph.P

Characteristics

Open Source CMS works best when:

• • •

Project requirements relatively straight forward Existing extensions can do the job Custom themes can conform to CMS’s basic structure

• “Square Peg in a Square World”
SOCIETY

Ph.P

Philosophy in Programming Society

But...

Things start to fall apart when:

• Which means...
Philosophy in Programming Society

• • • •

“I need function Y which is not in Extension Z” “Can add category to this listing?” “The design is too square-ish.” “Can don’t have this thing here?”

SOCIETY

Ph.P

What they really mean

Things start to fall apart when:

• • •

You’ll need to mod Extension Z to include Function Y (or new design element). You’ll need to mod the core system to include the new function. You’ll need to mod the design which may be intertwined with the core system

• “Square Peg in a Circular World”
Philosophy in Programming Society

SOCIETY

Ph.P

Options Available
• • •
Modify the codes

• • • •

Issues with future upgrades

Submit Bug Fix / Feature Request to extension / core system developers Long wait... DIY or Outsource Shorter wait & more control, but some restrictions still apply
Philosophy in Programming Society

Create your own extensions

SOCIETY

Ph.P

Time to Mod / Hack = $$$$
SOCIETY

Ph.P

Philosophy in Programming Society

Characteristics

Open Source Framework

• • • •

Basic set of functionalities Full control over how the site is put together (freeform & far more flexible) Standard look & feel (scaffold) or customise almost anything Conforms to your designs and requirements

Philosophy in Programming Society

SOCIETY

Ph.P

Characteristics

• Open Source Framework

• Handles all the primary functions (eg.
connecting to database, parsing data, processing forms)

• Spend more time concentrating on the

business-specific problem, rather than on the "plumbing" code behind it. increases productivity, especially in large and complex systems.

• Limit choices during development, so it

Philosophy in Programming Society

SOCIETY

Ph.P

Characteristics

Open Source Framework

• • • •

Patterns

• •

Model-View-Controller Factory

Object Oriented Don’t Repeat Yourself Convention over Configuration

Philosophy in Programming Society

SOCIETY

Ph.P

Characteristics

Open Source Framework works best when:

• • • •

Project requirements is complex & need maximum flexibility Flexible design and fully customised front-end Team-friendly & minimal documentation Focus on User Interface / Experience

Philosophy in Programming Society

SOCIETY

Ph.P

But...

The down-side of Frameworks:

• • •

Lower QC over end-product Man-hours for updates & upgrades Can be inflexible if not planned properly, resulting in total rewrite

Philosophy in Programming Society

SOCIETY

Ph.P

Conclusion
• • • •
Evaluate each project’s needs Know your tools Build your foundation & library of reusable codes Plan properly, but change is inevitable

Philosophy in Programming Society

SOCIETY

Ph.P

Sign up to vote on this title
UsefulNot useful