php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #53111 class_exists call __autoload every time on non existing classes
Submitted: 2010-10-20 12:10 UTC Modified: 2010-10-21 11:55 UTC
From: gmblar+php at gmail dot com Assigned:
Status: Not a bug Package: Performance problem
PHP Version: 5.3.3 OS: Linux
Private report: No CVE-ID: None
 [2010-10-20 12:10 UTC] gmblar+php at gmail dot com
Description:
------------
class_exists call __autoload every time on non existing classes

Test script:
---------------
<?php

header('Content-Type: text/plain');

function __autoload($class) {
    var_dump('Autoload '.$class);
}

for($a=0; $a<10; $a++) {
    $status = class_exists('foobar');
    var_dump($status);
}

?>

Expected result:
----------------
string(15) "Autoload foobar"
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)

Actual result:
--------------
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)
string(15) "Autoload foobar"
bool(false)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-10-21 11:51 UTC] johannes@php.net
That's expected. The autoload function might be non-deterministic.
 [2010-10-21 11:55 UTC] johannes@php.net
-Status: Open +Status: Bogus
 [2010-10-21 11:55 UTC] johannes@php.net
.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 21:01:28 2024 UTC