Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 129753
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T05:50:23+00:00 2026-05-11T05:50:23+00:00

In PHP, if a static attribute is defined in the parent class, it cannot

  • 0

In PHP, if a static attribute is defined in the parent class, it cannot be overridden in a child class. But I’m wondering if there’s any way around this.

I’m trying to write a wrapper for someone else’s (somewhat clunky) function. The function in question can be applied to lots of different data types but requires different flags and options for each. But 99% of the time, a default for each type would suffice.

It would be nice if this could be done with inheritance, without having to write new functions each time. For example:

class Foo {     public static $default = 'DEFAULT';      public static function doSomething ($param = FALSE ) {         $param = ($param === FALSE) ? self::$default : $param;         return $param;     } }  class Bar extends Foo {     public static $default = 'NEW DEFAULT FOR CHILD CLASS'; }  echo Foo::doSomething() . '\n';  // echoes 'DEFAULT'  echo Bar::doSomething() . '\n';  // echoes 'DEFAULT' not 'NEW DEFAULT FOR CHILD CLASS'  // because it references $default in the parent class :( 
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T05:50:23+00:00Added an answer on May 11, 2026 at 5:50 am

    Classic example of why using statics as globals (functions in this case) is a bad idea no matter the language.

    The most robust method is to create multiple implementation sub classes of an abstract base ‘Action’ class.

    Then to try and remove some of the annoyance of instantiating an instance of the class just to call it’s methods, you can wrap it in a factory of some sort.

    For example:

    abstract class AbstractAction {   public abstract function do(); }  class FooAction extends AbstractAction {   public function do() {     echo 'Do Foo Action';   } }  class BarAction extends AbstractAction {   public function do() {     echo 'Do Bar Action';   } } 

    Then create a factory to ‘aid’ in instantiation of the function

    class ActionFactory {   public static function get($action_name) {     //... return AbstractAction instance here   }   } 

    Then use it as:

    ActionFactory::get('foo')->do(); 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 91k
  • Answers 91k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Once a dom element is created, the tag is immutable,… May 11, 2026 at 6:19 pm
  • Editorial Team
    Editorial Team added an answer In Python 2.4 (possibly it works on earlier systems as… May 11, 2026 at 6:19 pm
  • Editorial Team
    Editorial Team added an answer This extension method should do the job: private static double… May 11, 2026 at 6:19 pm

Related Questions

I want to fill a map with class name and method, a unique identifier
The original question is below, but I changed the title because I think it
In the past I've done web application development using Visual Studio. Initially I'd use
How can i check to see if a static class has been declared? ex

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.