Jump to content
Sign in to follow this  
zeroonnet

Nova classe pelo nome numa string.

Recommended Posts

zeroonnet

class mekie_ola
{
    __construct($mekie)
    {
        
    }
}

$nome = "ola";
$classola = new mekie_.$nome("parametros");

Bem posso fazer isto? Dúvido muito... se não der para fazer como posso fazer?

Fiquem Bem

Share this post


Link to post
Share on other sites
djthyrax

Sinceramente, só tou a ver com $classola = eval("return new mekie_".$nome."(".$parametros.");"); ...


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
zeroonnet

afinal dá mas a variavel a que eu igualo fica vazia :S alias no php.net diz que o eval não se pode colocar numa variavel :S

edit:

ja deu :P

nao tinha usado o return :D

Thanks

Share this post


Link to post
Share on other sites
djthyrax

Eu raramente me engano quando se fala de PHP, never doubt but never trust! :P


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Nazgulled

Não vejo necessidade de usares o eval(), podes fazer isto:

<?php

class Teste_A {
function __construct($params) {
	echo "<pre>";
	print_r($params);
	echo "</pre>";
}
}

$class_type = 'A';
$class_name = "Teste_$class_type";

$class_a = new $class_name(array("NAZ", 1500));

?>

Share this post


Link to post
Share on other sites
djthyrax

Não vejo necessidade de usares o eval(), podes fazer isto:

<?php

class Teste_A {
function __construct($params) {
	echo "<pre>";
	print_r($params);
	echo "</pre>";
}
}

$class_type = 'A';
$class_name = "Teste_$class_type";

$class_a = new $class_name(array("NAZ", 1500));

?>

Bem me parecia que havia uma maneira mais inteligente de o fazer. :P

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.