0

We are a small team of developers planing to develop a php application. (let's say a CRM system)

Our main goal is to make it a plug-in-enabled application so that clients' developers can write plug-ins add new features to the system without changing the application's core code.

These changes may include: 1) adding new features: more likely adding a new page and creating a new database table and and implementing new operations such as add/edit/display data.

2) editing existing functionality (e.g. we have a list of users, they might need the user name to be a hyperlink and open a light box with user information)

Since this is going to a medium to large-scale application we need to plan it carefully.

At the moment our plan is to write the core application structure and implement the requirements as plug-ins, so that each time a client needs a change we only need to upgrade a specific plug-in.

I just need the gurus here to give us some ideas or links to look at before we start.

The final question is “how to build a plug-in-enabled PHP application?”

Thanks all...

4 Answers 4

1

I would say try to use an OO framework (zend framework, cakephp, symphony) and create a configuration (xml based) to tell the loader which class should be loaded) that mean you can redifined class when you need to add a functionality to an existing feature or load new class.

Magento for instance use this approach to allow plugins.

But without more informations that's hard to tell.

Sign up to request clarification or add additional context in comments.

1 Comment

using a framework is a good idea. But since we just need to be more unique and develop something our own where we can use it for our future projects is the idea that we have in mind.
0

please check the following url
http://ellislab.com/forums/viewthread/67697/

Comments

0

Write well-structured, reuseable OOP-Code - define an abstract plugin class or interface.

Comments

0

I second the opinion on using a framework like Symphony. It provides a better structure for any application, give you a cleaner and modular app. I'd even advise you to use another language but that is outside the scope of the question :)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.