Gabriel Santos
Gabriel Santos

Reputation: 4974

Force variable pass as object

I need to define the type of passed variable as an generic object, how?

Tried:

public function set($service = null, (object) $instance) {
    [..]
}

Can stdClass help? How?

Thanks!

Upvotes: 0

Views: 355

Answers (3)

Alex Siri
Alex Siri

Reputation: 2864

Gabriel,

if what you want to do is check if the variable is an object, you could do this:

public function set($service = null, $instance) {
    if (!is_object($instance)) return null; //or whatever
    [..]
}

What are you trying to prevent with that? With your declaration, you would get an exception if the variable is not an object (it will not cast it).

Upvotes: 0

Starx
Starx

Reputation: 78991

No, the object has to be some class. You can give the any class name as object's type

public function set($service = null, ClassName $instance) {
    //now the instance HAS to be the object of the class
}

Or a basic trick would be to create a basic class yourself

Class GenericObject {}
$myobj = new GenericObject();
$myobj -> myCustomVar = 'my custom var';

//Now send it
public function set($service = null, GenericObject $instance) {
   [...]
}

Upvotes: 1

zerkms
zerkms

Reputation: 254924

Nope, in php all classes aren't derive from the common ancestor.

So doubtfully you can use current php's implementation to state "object of any class"

Upvotes: 1

Related Questions