Melhor explicação, estratégia excelente para evitar código amarrado! Dessa forma não importa o tipo da classe concreta, desde que a classe tenha as assinaturas da interface implementada.
Ótima aula!! chover se entendi utilizando uma analogia que criei na minha cabeça. Interface são os metodos, os métodos são ações ou qualidades do perfil. Imaginando que eu tenho um molde de controle remoto O molde é a Classe.. class remoteControl { } Agora quero criar botões com algumas funções para meu controle que serão suas interface. sei la... Power, aumentar e diminuir volume, mudar canal e configurações; Interface functionsControllerInterface { public function buttonsConventional(Power, volUp, volDown, channelChange, config ) } Porém eu também tenho um segundo controle mas esse é para TVs com funções Smart, logo a Interface dele seria diferente. TH-cam, Netflix, Amazon, Browser Interface smartFuncionsInterface { public function smartButtons(youTube, netflix, amazon, Browser) } Agora eu crio 2 controles remotos, um sendo para minha TV normal e a outra para a SmartTv. Instanciando a classe remoteControl nas duas. $conventTV = new remoteControl( ); $smarTv = new remoteControl( ); Agora eu dou um perfil para elas, ou seja as caracteríscas correspondentes de cada controle com suas devidas ações, ou seja, Interface. Primeiramente eu implemento as minhas interfaces dentro de duas classes. Criando uma outra classe (molde) para meu controle SmartTv. class remoteControl implements functionsControllerInterface { public function buttonsConventional( ) } class smartRemoteControl{ } agora eu implemento meus métodos específicos para meu controle Smart com suas devidas funcões. class smartRemoteControl implements smartFuntionInterface { public function smartButtons( ) } agora eu tenho 2 objetos com moldes parecidos porém com funcionalidades específicas de cada interface, correto? Desculpa a ignorância no assunto, estou começando POO e PHP agora tem umas 2 semanas ainda assimilo tudo com Lógica de Programação, e esse é um universo totalmente novo pra mim. Ainda preciso aprender CRUD e MVC. Mas espero que eu esteja no caminho certo do entendimento.
Não sei por que mas na área de TI todo mundo reclama do Professor e não vê que o problema está com a pessoa que não entendeu!! Nas faculdades vejo os alunos reclamando do professor más eles que estão errados por que não meditam no código e não vão buscar aprofundar o entendimento!
🔥CURSO COMPLETO DE PHPOO: pay.hotmart.com/K92683607S?checkoutMode=10
🔥CURSO PHP PROFISSIONAL: pay.hotmart.com/V59270182P?checkoutMode=10
Mano...
Putaquipariu!
Isso mudou uma visão errada que eu já tinha há mais de 10 anos!!
Vlw!! 👍👍👍
Melhor explicação, estratégia excelente para evitar código amarrado!
Dessa forma não importa o tipo da classe concreta, desde que a classe tenha as assinaturas da interface implementada.
Muito obrigado pelo comentário.
Ótima aula!! chover se entendi utilizando uma analogia que criei na minha cabeça.
Interface são os metodos, os métodos são ações ou qualidades do perfil.
Imaginando que eu tenho um molde de controle remoto
O molde é a Classe..
class remoteControl {
}
Agora quero criar botões com algumas funções para meu controle que serão suas interface.
sei la... Power, aumentar e diminuir volume, mudar canal e configurações;
Interface functionsControllerInterface
{
public function buttonsConventional(Power, volUp, volDown, channelChange, config )
}
Porém eu também tenho um segundo controle mas esse é para TVs com funções Smart, logo a Interface dele seria diferente.
TH-cam, Netflix, Amazon, Browser
Interface smartFuncionsInterface
{
public function smartButtons(youTube, netflix, amazon, Browser)
}
Agora eu crio 2 controles remotos, um sendo para minha TV normal e a outra para a SmartTv. Instanciando a classe remoteControl nas duas.
$conventTV = new remoteControl( );
$smarTv = new remoteControl( );
Agora eu dou um perfil para elas, ou seja as caracteríscas correspondentes de cada controle com suas devidas ações, ou seja, Interface.
Primeiramente eu implemento as minhas interfaces dentro de duas classes. Criando uma outra classe (molde) para meu controle SmartTv.
class remoteControl implements functionsControllerInterface
{
public function buttonsConventional( )
}
class smartRemoteControl{
}
agora eu implemento meus métodos específicos para meu controle Smart com suas devidas funcões.
class smartRemoteControl implements smartFuntionInterface
{
public function smartButtons( )
}
agora eu tenho 2 objetos com moldes parecidos porém com funcionalidades específicas de cada interface, correto?
Desculpa a ignorância no assunto, estou começando POO e PHP agora tem umas 2 semanas ainda assimilo tudo com Lógica de Programação, e esse é um universo totalmente novo pra mim.
Ainda preciso aprender CRUD e MVC.
Mas espero que eu esteja no caminho certo do entendimento.
Esse parametro no método create na classe Logger, seria o conceito de injeção de dependência?
Fala Marcos.
É sim.👍
Opa, qual extensão é essa que indica o erro na linha do código?
th-cam.com/video/zcKy-Fg0q0c/w-d-xo.html
So n gosto do fato de n ter sobrecarga de métodos no php, porque isso limita um pouco o uso das interfaces
Do jeito que foi chamado tudo de interface, ficou confuso.
Pra novatos, fica complicado.
Não sei por que mas na área de TI todo mundo reclama do Professor e não vê que o problema está com a pessoa que não entendeu!! Nas faculdades vejo os alunos reclamando do professor más eles que estão errados por que não meditam no código e não vão buscar aprofundar o entendimento!