[wp-hackers] Plugin main file name
Stephen Rider
wp-hackers at striderweb.com
Sat Aug 23 22:45:29 GMT 2008
On Aug 23, 2008, at 2:48 PM, Ozh wrote:
> On Sat, Aug 23, 2008 at 4:10 PM, Stephen Rider
> <wp-hackers at striderweb.com> wrote:
>> myplugin/plugin_main.php
>> anotherplugin/plugin_main.php
>> thirdplugin/plugin_main.php
>
> Make everything in plugin_main.php within a "if
> (!class_exists('strider_main')) class strider_main{}", and whenever
> you update this file, update all your plugins that use it
Here's what I did, but I still have a question.
I normally put all of a plugin's function in a class -- to avoid
naming conflicts and to aid in making reusable code.
So what I did is this: I have my "core" class -- strider_core().
Class strider_core contains all the common code that is reused across
pretty much all my plugins. This file is included with each plugin.
Then, in the main plugin file, I require_once the core file, then
create the plugin's class like so:
class myplugin extends strider_core { ... }
That way myplugin includes everything from strider_core, plus all the
code particular to the plugin that I add to myplugin.
The strider_core class declaration is wrapped in if( !
class_exists( 'strider_core' ) { ... }
That way if there are multiple of my plugins installed, they don't try
to declare the class multiple times.
Okay, here's the question:
I want to give strider_core a version number. I want the if() clause
that checks for the class to ALSO check the version of the class (if
it exists). If the existing class is a lower version number (such as
from an older version of the other plugin) I want go ahead with
declaring the class again with the newer code.
Is there a way to redeclare a class in PHP?
Any ideas? I'm stuck.
Stephen
More information about the wp-hackers
mailing list