Skip to content

Musings of an Anonymous Geek

Made with only the finest 1's and 0's

Menu
  • About
  • Search Results
Menu

*STILL* No Multiple Inheritance in PHP!

Posted on April 25, 2007May 14, 2008 by bkjones

This is maddening. There have been requests for multiple inheritance in PHP since I started using it in mid 1999. Of course, in mid-1999, I didn’t really care. There wasn’t much written in PHP that was any good, so I was writing little scripts of glue code to tie pieces of HTML together and the like. I wasn’t working on anything big. Now, like 8 years later, I *am* working on a big project, and I *need* multiple inheritance, and it’s *still* not there!

Here’s my dilemma: I wrote an extension for Moodle 1.5.x. Not that it’s really important, but I implemented a new assignment type geared toward Computer Science departments. The current release of Moodle is 1.8. In looking at a new built-in assignment type in 1.8, I’m noticing that it does roughly 85% of what I need it to do. Further, in looking at the code, it appears that the remaining 15% wouldn’t be difficult to implement.

“I’ll just make my assignment type inherit from this new built-in one, write a couple of new methods (the code for which can be ripped almost verbatim from my old 1.5.x code), and I’ll be on my way!”

Wrong. The shiny new built-in assignment type extends the base assignment class, and that’s the whole inheritance story in PHP. Even though 90% of what I need is in that new built-in class, I can’t base my class on it, because *it* already inherits from another class.

Now, I make no claims of *being* a computer scientist, so my question is simply this:

“Am I missing something here, or does it seem moronic to keep debating the usefulness of this particular feature instead of just implementing it?”

For the record, I don’t mean for this to be a rhetorical question. If you have an answer or comment (besides “it’s open source, just implement it yourself”), I’d love to hear it.

Technorati Tags: php, development, internet, coding, moodle, oop, multiple-inheritance, object-oriented, technology

Social Bookmarks:

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Facebook (Opens in new window) Facebook

Recent Posts

  • Auditing Your Data Migration To ClickHouse Using ClickHouse Local
  • ClickHouse Cheat Sheet 2024
  • User Activation With Django and Djoser
  • Python Selenium Webdriver Notes
  • On Keeping A Journal and Journaling
  • What Geeks Could Learn From Working In Restaurants
  • What I’ve Been Up To
  • PyCon Talk Proposals: All You Need to Know And More
  • Sending Alerts With Graphite Graphs From Nagios
  • The Python User Group in Princeton (PUG-IP): 6 months in

Categories

  • Apple
  • Big Ideas
  • Books
  • CodeKata
  • Database
  • Django
  • Freelancing
  • Hacks
  • journaling
  • Leadership
  • Linux
  • LinuxLaboratory
  • Loghetti
  • Me stuff
  • Other Cool Blogs
  • PHP
  • Productivity
  • Python
  • PyTPMOTW
  • Ruby
  • Scripting
  • Sysadmin
  • Technology
  • Testing
  • Uncategorized
  • Web Services
  • Woodworking

Archives

  • January 2024
  • May 2021
  • December 2020
  • January 2014
  • September 2012
  • August 2012
  • February 2012
  • November 2011
  • October 2011
  • June 2011
  • April 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • September 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • December 2004
  • November 2004
  • October 2004
  • September 2004
  • August 2004
© 2025 Musings of an Anonymous Geek | Powered by Minimalist Blog WordPress Theme