[wp-trac] [WordPress Trac] #32470: Abstracting the Widget Classes
WordPress Trac
noreply at wordpress.org
Tue Jun 2 01:07:19 UTC 2015
#32470: Abstracting the Widget Classes
------------------------------------+------------------------------
Reporter: welcher | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Widgets | Version:
Severity: normal | Resolution:
Keywords: dev-feedback has-patch | Focuses:
------------------------------------+------------------------------
Comment (by welcher):
Replying to [comment:18 jdgrimes]:
> Replying to [comment:17 jacobsantos]:
>
To me it just looks like added layers of complexity without actually
reducing the bootstrap code plugin devs have to write.
I agree, the interface approach ( at least in the patch provided ) is very
complicated and I don't immediately see the benefit of requiring a new
class to implement 4 interfaces rather that extend a single class. As I
mentioned in a earlier comment, WordPress maintains a low barrier-to-entry
for developers and for some, doing any OOP may be daunting. I am guessing
this is why WP_Widget was written to be inherited. There seems to be a lot
of room for error with having to implement multiple interfaces. If one is
left out, what happens? The point of an interface is to define what
methods a class must define, and if that is what where trying to
accomplish, it may be a better approach to make WP_Widget an abstract
class with abstract methods and maintain the inheritance model.
>
> I think maybe what you envision and what @welcher was proposing are two
different things. I think you're leaning towards a complete rewrite of the
whole widgets API, while (I think) what @welcher was proposing was just a
little bit more abstraction/bootstrap in the `WP_Widget` class.I think we
need to be more specific about the scope of this ticket. I'm not saying
your scope is necessarily too broad, but I'm not sure that's what the
original intent was, and maybe these are sort of two different things that
should be separate tickets. ??
That is what I was proposing - more abstraction in `WP_Widget`. I think
that perhaps a second ticket is in order as @jacobsantos approach would
require a major rewrite to the API and is beyond the scope of making
enhancements to what is currently in place.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/32470#comment:22>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list