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 5842781
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T12:03:48+00:00 2026-05-22T12:03:48+00:00

I may just not have a good enough handle on PHP’s object handling to

  • 0

I may just not have a good enough handle on PHP’s object handling to understand what’s going wrong here, but a snippet of code I have returns results I did not expect and I’m hoping somebody in this crowd can give me some insight into what’s happening. Here is the code:

class Page
{
    public function getTitle() {
        echo $this->_title();
    }

    private function _title() {
        return "Page Title\n";
    }
}

class Title extends Page
{
    protected function _title() {
        return "Title Title\n";
    }
}

$title = new Title();
$title->getTitle();

What I was expecting was that getTitle would be inherited by the Title class and when calling $this->getTitle() would return it’s own method. If you change the _title() method in the parent Page class to protected instead of private, it will do so. But when the parent’s method is private it gets called instead.

Is this expected behavior in object inheritance or some weird issue with PHP? Can anyone explain the (il?)logic of this happening? Much appreciated.

  • 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. Editorial Team
    Editorial Team
    2026-05-22T12:03:48+00:00Added an answer on May 22, 2026 at 12:03 pm

    If you copy Page::getTitle()‘s content to Title::getTitle() you will get what you intended, which means the $this in Page::getTitle() always looks in itself for a possible match first and since that is private it does not look any further.

    As you mentioned, you would have to declare Page::_title() as protected as well, in order for it to be overridden.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I may not understand what the return statement does(I thought it just returned a
Say my list is {1,2,3,4} My title may not be descriptive enough but here
This may sound like a stupid question but I'm a beginner not just to
I just realized that i may not be following best practices in regards to
I've just moved a forum from BradPPresents.com to BradP.com. May not be SFW. It's
I may just be doing something wrong but all of my javascript files as
I don't have control of the Dev server, and may not be able to
I am not sure how to phrase a good question, so I will just
I'm trying to implement the Send button , but running into what may just
I just realized a function may be defined inside another function in C: void

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.