Fatal error: Class 'Judy' not found in C:\wamp\www\variables-references\9-object-instantiation.php on line 4

<?php
$x = new stdClass;
$y = new stdClass;
$z = new Judy;

var_dump($x, $y); // object(stdClass)#1 (0) { } object(stdClass)#2 (0) { }

Open in new window


I added $z=new Judy;
Fatal error: Class 'Judy' not found in C:\wamp\www\variables-references\9-object-instantiation.php on line 4

how can $x and $y be called without a class
LVL 1
rgb192Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
mankowitzConnect With a Mentor Commented:
stdClass is a php generic class, like Object in other languages. It is already a defined type. Judy is not defined.
0
 
Juan OcasioApplication DeveloperCommented:
It's tough to say what's going on with such a limited amount of info (for me at least).  I' not sure where the classes are created, or whether or not you have included them in the file that holds the above mentioned code.
0
 
Ray PaseurConnect With a Mentor Commented:
A search of the PHP.net web site for stdclass finds this page:
http://www.php.net/manual/en/reserved.classes.php
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
rgb192Author Commented:
stdClass is a php generic class, like Object in other languages. It is already a defined type. Judy is not defined.
generic class, but where is the class?


from http://www.php.net/manual/en/reserved.classes.php
Standard Defined Classes ¶

These classes are defined in the standard set of functions included in the PHP build.

Directory
Created by dir().
stdClass
Created by typecasting to object.
__PHP_Incomplete_Class
Possibly created by unserialize().

There are not many words in the php manual
I still do not understand.
0
 
Ray PaseurCommented:
Here is something that does the same things as StdClass.  It's just an empty class definition - no properties or methods.  You can add your own properties.

<?php // demo/temp_stdclass.php
ini_set('display_errors', TRUE);
error_reporting(E_ALL);

Class StandardClass
{
}

Open in new window

0
 
rgb192Author Commented:
<?php // demo/temp_stdclass.php
ini_set('display_errors', TRUE);
error_reporting(E_ALL);

Class StandardClass
{
}

$x=new StandardClass();
$y=new StandardClass();
var_dump($x,$y);

Open in new window



object(StandardClass)#1 (0) { } object(StandardClass)#2 (0) { }

I also do not understand that the notation can be
$x=new StandardClass();
$y=new StandardClass();

or
$x=new StandardClass;
$y=new StandardClass;
0
 
Ray PaseurConnect With a Mentor Commented:
It's just the way PHP code works, that's all.  If you put the parenthetical expression after the statement you get it to run the class constructor (if any).  This would make sense if there were arguments needed in the constructor.
0
 
rgb192Author Commented:
A generic class and sometimes classes have constructors.

Thanks.
0
All Courses

From novice to tech pro — start learning today.