|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #64077 Use of self keyword causing error
Submitted: 2013-01-25 20:53 UTC Modified: 2013-02-14 14:45 UTC
From: iceman2g2 at gmail dot com Assigned:
Status: Closed Package: Class/Object related
PHP Version: Irrelevant OS: Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
45 - 27 = ?
Subscribe to this entry?

 [2013-01-25 20:53 UTC] iceman2g2 at gmail dot com
PHP Version: 5.3.17
Server API: CGI/FastCGI

I'm using the self keyword to call a method that's defined in an abstract class. 
The call to the method itself is being made within the abstract class. The 
method is both private and static.

Here's a definition of the method:
private static function _executeCallback($sequence, $event, array $param = 
array(), Dhonki_Model 
$object = NULL)

This is the snippet of code that calls the method:
if (isset(self::$_event_callback[$model]['find']['after']) || 
isset(self::$_event_callback[__CLASS__]['find']['after'])) {
			self::_executeCallback('after', 'find', $param, 

The problem comes with the use of:
self::_executeCallback('after', 'find', $param, $object);

To fix the error I use the code:
Dhonki_Model::_executeCallback('after', 'find', $param, $object);

I don't know if this is an error related to something I'm doing or if it's a 
bug. Again this same code works on several other servers, and in fact works 
several other places in the class.


Expected result:
I expected self::_executeCallback and Dhonki_Model::_executeCallback to be 
functionally equivalent. In fact they seem to be functionally equivalent on 
several other servers using this code. The also seem to be equivalent elsewhere in 
the same abstract class that use the self::_executeCallback.

Actual result:
Unable to autoload `t6exla` class or interface.

I'm not sure where the t6exla is coming from as the name of my class is 


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2013-01-26 11:57 UTC]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.

 [2013-01-26 11:57 UTC]
-Status: Open +Status: Feedback
 [2013-02-14 14:45 UTC] iceman2g2 at gmail dot com
-Status: Feedback +Status: Closed
 [2013-02-14 14:45 UTC] iceman2g2 at gmail dot com
This issue has been tracked down. It seems the issue revolved around calling a 
method that 
wasn't declared as static in a static manner.

So a method defined as: 
public function getById($flight)

Was changed to:
public static function getById($flight)
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Jun 22 02:01:28 2024 UTC