Reputation:
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...
Upvotes: 0
Views: 283
Reputation: 8356
please check the following url
http://ellislab.com/forums/viewthread/67697/
Upvotes: 0
Reputation: 14753
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 :)
Upvotes: 0
Reputation: 14642
Write well-structured, reuseable OOP-Code - define an abstract plugin class or interface.
Upvotes: 0
Reputation: 855
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.
Upvotes: 1