Re: How to new a Object via class name String?
| From: | Robert Cummings | Date: | Mon, 17 Dec 2007 08:13:26 +0000 |
| Subject: | Re: How to new a Object via class name String? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-265964@lists.php.net to get a copy of this message | ||
On Mon, 2007-12-17 at 15:50 +0800, ked wrote:
> Hi , I'm a freshman in PHP, can anyone give me any advices?
>
> I defied some simple classes, like "User", "Item"...
>
> in a general way ,
> $obj = new User();
>
> specially, I need to assign a Object via a class name .
>
> Now , my code :
> switch ($className)
> {
> case "User":
> return new User();
> break ;
> case "Item":
> return new Item();
> break ;
> default:
> break ;
> }
>
> I think that It's not a clever job. How to do it skillfully?
>
> Thank you for any advice.
<?php
class User
{
}
class Item
{
}
function getObject( $name )
{
$obj = false;
if( class_exists( $name ) )
{
$obj = new $name();
}
return $obj;
}
var_dump( getObject( 'User' ) ); echo"\n\n";
var_dump( getObject( 'Item' ) ); echo"\n\n";
var_dump( getObject( 'Foo' ) ); echo"\n\n";
?>
Cheers,
Rob.
--
...........................................................
SwarmBuy.com - http://www.swarmbuy.com
Leveraging the buying power of the masses!
...........................................................