[wp-hackers] Writing plugins with classes
Jamie Talbot
wphackers at jamietalbot.com
Sat Feb 24 22:58:14 GMT 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Aaron Brazell wrote:
> > Hey guys-
> >
> > Maybe someone can give me a quick pointer here. I've always wrote
> > plugins procedurally, but decided with this new one to write as a class.
> > Problem is, I'm obviously screwing up some syntax somewhere because the
> > class is being redeclared. There's really only two places it could be
> > happening and it boils down to WP syntax, not PHP... Help.
> > Fatal error: Cannot redeclare class myclass in
> > /home/emmense/public_html/wp-content/plugins/wp-103bees.php on line 11
> >
> > The only two places I could be redclaring is in the
> > add_management_page() call or the add_action() call...
> >
> > Help?
(Sorry if this a duplicate, I sent it from the wrong address the first time...)
Hey Aaron,
I remember similar problems when I began writing plugins. There was a way round it, which I used in
X-Valid [1], but that was last edited a year ago, so things might possibly have changed since then.
The solution I use now is to have all the guts of the plugin in a class, but use a separate file
for each admin page, like for Gengo [2]. This avoids your problem altogether, means the admin page
code isn't being loaded for every site view and means you didn't just have a single massive
monolithic file to edit, which can be a nightmare when you have more than one simple page.
[1] http://dev.wp-plugins.org/browser/x-valid/trunk/xvalid/xvalid.php - XHTML tag balancing and
cleaning for posts and comments (1 admin page, 1 feedback page).
[2] http://dev.wp-plugins.org/browser/gengo/trunk/gengo - Multilingual framework for WordPress (1
top level menu, 4 submenus).
Hope they help point you in the right direction,
Cheers,
Jamie.
- --
http://jamietalbot.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFF4MMGrovxfShShFARAjNDAJ9o+u/APiFFRUcWpN3fZWBY6Uk5ywCeLt4b
PPN4/9fUjxDxZohk5DQZye8=
=1OIr
-----END PGP SIGNATURE-----
More information about the wp-hackers
mailing list