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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T19:37:17+00:00 2026-05-25T19:37:17+00:00

Say I’ve registered the extra namespace Tracker_ in the config file for some classes

  • 0

Say I’ve registered the extra namespace “Tracker_” in the config file for some classes I’ve written, using

autoloadernamespaces[]="Tracker_"

Things with this namespace and autoloader work as expected except when I am testing for error handling. When I test whether a non-existing class exists, using

class_exists("Tracker_DoesNotExist");

It throws an exception

include_once(Tracker/DoesNotExist.php): failed to open stream: No such file or directory
/path/Zend/Loader.php:146
/path/Zend/Loader.php:146
/path/Zend/Loader.php:94
/path/Zend/Loader/Autoloader.php:479
/path/Zend/Loader/Autoloader.php:124
/other/path/TrackablesMapper.php:40 //line referenced above

Meanwhile, the same class_exists function works for every other case I’ve tested, i.e.

class_exists("Application_ExistingClass"); //returns true
class_exists("Application_NonExistingClass"); //returns false
class_exists("Tracker_ExistingClass"); //returns true

Am I doing something wrong?

  • 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-25T19:37:17+00:00Added an answer on May 25, 2026 at 7:37 pm

    When running a Zend Framework application, it registers its autoloader using spl_autoload_register (http://php.net/spl_autoload_register). Now any calls to class_exists will use Zend’s autoloader (by default class_exists tries to load the class).

    The reason you are getting the error when using class_exists with Tracker_ and not Application_ is because the Application namespace’s autoloader is handled by Zend_Application_Module_Autoloader (Zend_Loader_Autoloader_Resource) which acts slightly different than the Zend_Loader autoloader.

    Zend_Loader performs some basic security checks and then simply tries to include the file in question. The resource autoloader actually uses a method that first checks to see if the file to be autoloaded is readable and if it is not, then it does not try to include it.

    So the reason you are getting the error with Tracker_ is because no error checking is performed when trying to autoload, and Application_ does have error checking.

    You can also suppress this by calling Zend_Loader_Autoloader::getInstance()->suppressNotFoundWarnings(true); Usually you don’t want to turn this on though as it can create more confusion later.

    Class exists will call the autoloader because if the file containing the class has not yet been included, then the class does not exist, so it needs to attempt to try to load it first, if it fails to autoload it, then you get the include error from zend framework.

    Hope that cleared it up a bit for you.

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

Sidebar

Related Questions

Say you write some code like this (using ruby-mode, but I've seen this happen
Say I have two classes like this: class A{ private static Random random =
Say I have a bash script file config.sh . It's meant to be source'd
Say I have the following file structure: app/ app.py controllers/ __init__.py project.py plugin.py If
Say I've got this array: MyArray(0)=aaa MyArray(1)=bbb MyArray(2)=aaa Is there a .net function which
Say I have a SqlAlchemy model something like this: from sqlalchemy.ext.declarative import declarative_base from
Say I want to test this module: import osutils def check_ip6(xml): ib_output = osutils.call('iconfig
Say I have a LINQ-to-XML query that generates an anonymous type like this: var
say i have the 3 non blocking sends like this MPI_Isend (); MPI_Isend ();
Say I have a method signature like this: protected override void Initialize(params object[] parameters)

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.