This is the Fatal Error message I receive after trying to instantiate an object of the Child class ‘Client’ which extends the Parent class ‘GenericObject’
Fatal error: Uncaught Error: Class “GenericObject” not found in D:AdminCMSGenericclassesClient.class.php:2
Stack trace:
#0 D:AdminCMSGenericindex.php(21): include()
#1 {main}
thrown in D:AdminCMSGenericclassesClient.class.php on line 2
This is after the script for the Generic Object that cannot be found has been dumped , in it’s entirety, on the screen.
This is part of the GenericObject class:
<?
class GenericObject
{
protected $loaded;
protected $modifiedFields
protected $actionFlag;
protected $arAmends;
protected $extractedDataObject;
protected $objDB;
public function __construct(protected string $tableName, protected ?int $entityID = null, protected ?object $inputDataObject = null)
{
// dB connection
$this->objDB = new dBAccess();
// set flag & initiate appropriate method
if(is_int($this->entityID))
& the Client class (no properties or methods defined as at the moment I just want the Parent functionality):
<?php
class Client extends GenericObject
{
}
?>
& the calling script:
<?php
// auto load any required classes
function myAutoloader($class)
{
include __DIR__ . '/classes/' . $class . '.class.php';
}
spl_autoload_register('myAutoloader');
$objClient = new Client(entityID: 2, tableName: 'client');
In addition to using the autoloader I have also tried using hardcoded ‘include’ & ‘require’ statements – the only difference with these is the GenericObject script doesn’t get dumped to the screen, otherwise the result is the same.
Any help with this would be much appreciated as it’s stumping me.
Thanks
1