Req #63837 [Opn->Nab]: Privater abstract functions
| From: | krakjoe@php.net | Date: | Sat, 26 Jan 2013 11:12:29 +0000 |
| Subject: | Req #63837 [Opn->Nab]: Privater abstract functions | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-176264@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=63837&edit=1
ID: 63837
Updated by: krakjoe@php.net
Reported by: larry at ldrutlege dot com
Summary: Privater abstract functions
-Status: Open
+Status: Not a bug
Type: Feature/Change Request
Package: Class/Object related
PHP Version: 5.4.10
Block user comment: N
Private report: N
New Comment:
The page referenced concerns migration from 5.0 to 5.1
None of this is relevant.
Previous Comments:
------------------------------------------------------------------------
[2012-12-22 19:51:15] larry at ldrutlege dot com
Actually not misspelled per se, but spelled according to British spelling whereas the English site
seems to primarily use American spelling.
------------------------------------------------------------------------
[2012-12-22 19:47:53] larry at ldrutlege dot com
Description:
------------
From the page http://php.net/manual/en/migration51.oop.php
"Abstract private methods were supported between PHP 5.0.0 and PHP 5.0.4, but were then
disallowed on the grounds that the behaviours of private and abstract are mutually exclusive."
This was true in PHP 5.3 and earlier since any method declared abstract private could not be
accessed outside the declaring class and so the definition was without function.
In PHP 5.4 and later however, traits may have access to private methods of a class and so an
abstract private definition may have a purpose. For instance, traits may have need of helper methods
which may be needed only by the trait's methods and nowhere else. In those cases, an abstract
private method may be the appropriate declaration to place in the trait to ensure the helper method
is defined in the using class.
Abstract private methods however remain useless except within traits, so within traits is the only
place they need to be permitted.
And as an aside, the word "behaviors" is misspelled on that page.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=63837&edit=1