Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
falae galera, beleza?
bom... to com uma duvida cruel aki...
alguém aki jah trabalhou com autoload para Traits???
pq eu to precisando desenvolver esse recurso, o autoload para as classes em si esta funcionando...
mas queria saber como eu faço pra fazer para os Traits...
se alguém ai souber de algum tutorial ou fazer alguma ideia de como fazer, por favor, me ajude....
obrigado desde jah...
>
ainda não testei os novos recursos do 5.4!
autoload e pra incluir o arquivo, independente de ser um trait ou class!
Pelo q vi dos exemplos sempre criam, um trait em um arquivo q tmb tem uma class!
sendo assim qndo incluir a arquivo da class o trait já vai ta disponível pra todos objetos!
vo faze um teste aqui. so pra ve.
sua duvida não fez muito sentido pra mim =X
Bom man! testei aqui!
Realmente seu autoload ta com algum problema!
usando namespace rodo meus testes legal!
segue oq fiz
traits.php
namespace app;
trait traits {
public function myTrait() {
return "meu trait";
}
}
teste.php
namespace app;
class teste {
use traits;
}
unit teste
namespace app;
class diversosTestes extends \PHPUnit_Framework_TestCase {
public function testTrait() {
$trait = new teste();
$this->assertEquals(trait_exists('app\traits'),true);
$this->assertEquals(is_string($trait->myTrait()), true);
}
}
bom com namespace funciona normal como uma class msm !
Obs: Tendando ve alguma utilidade pra esse tal de Traits. kkkkkkkk..
kkkkkkkkkkkkk.... ter utilidade o bixo tem....rsrsrs mas ainda não estamos conseguindo encherga-las...rsrsrs
mas vlw, brother..
vou testar aki com o meu autoload... eh q eu não uso namespace... não gosto de usar...
mas vou fazer mais alguns testes aki com base nesse q tu fez...
brigadão, brother...
No momento trait e uma class abstrata, pra mim dão no msm, então fico com a sensação de trocar 6 por meia duzia usando esse trait kkkkkk....
tem um hangout hj, q vai fala de de traits vamo ve se da uma ideia ^^
bom man! Se você ta querendo brinca com Traits, tem q usa o melhor do php 5, NAMESPACE, vai facilita sua vida.
Traits provêem herança horizontal ou, a grosso modo, heranças múltiplas. Sem elas, herança múltipla era classe estendendo classe, verticalmente, o que sobrecarregava o propósito do objeto.
Do ponto de vista Orientação a Objetos é quase um crime abraçá-las, no entanto existem defesas plausíveis com alguns propósitos específicos como um Singleton abstrato (mesmo que excesso de Singleton seja errado) ou mesmo ponte entre classes sem a necessidade de um __call.
O autoload de classes deveria funcionar... já que é uma classe, utilize de namespaces e sua vida vai mudar
no último hangout, um pouco sobre traits
http://forum.imasters.com.br/topic/484476-hangout-sobre-code-reuse-em-php/
vlw galera.... cada post foi de grande ajuda.... brigadão msmo...
ainda não testei os novos recursos do 5.4!
autoload e pra incluir o arquivo, independente de ser um trait ou class!
Pelo q vi dos exemplos sempre criam, um trait em um arquivo q tmb tem uma class!
sendo assim qndo incluir a arquivo da class o trait já vai ta disponível pra todos objetos!
vo faze um teste aqui. so pra ve.
sua duvida não fez muito sentido pra mim =X
Bom man! testei aqui!
Realmente seu autoload ta com algum problema!
usando namespace rodo meus testes legal!
segue oq fiz
traits.php
namespace app;
trait traits {
teste.php
namespace app;
class teste {
unit teste
namespace app;
class diversosTestes extends \PHPUnit_Framework_TestCase {
bom com namespace funciona normal como uma class msm !
Obs: Tendando ve alguma utilidade pra esse tal de Traits. kkkkkkkk..