O meu conhecimento em classe ainda é bem precário, o máximo que eu sei fazer é class Classe { public function teste( ) { echo "teste";} }
Mas hoje eu vi no fórum um código mais ou menos assim (new Class)->método1->método2;
A Gemini me ensinou que o nome disso é chamada encadeada. Não sei se um dia vou conseguir usar esse recurso, mesmo assim, eu pedi um exemplo prático para a Gemini:
class URLBuilder {
private $url;
public function __construct($base_url) {
$this->url = $base_url;
}
public function adicionarParametro($param, $value) {
$this->url .= "&$param=$value";
return $this; // Retorna o próprio objeto para permitir o encadeamento
}
public function build() {
return $this->url;
}
}
// Utilizando a classe:
$url = new URLBuilder("https://www.exemplo.com");
$urlCompleta = $url->adicionarParametro("pagina", "1")->adicionarParametro("busca", "php")->build();
echo $urlCompleta; // Saída: https://www.exemplo.com&pagina=1&busca=php
Pergunta
Frank K Hosaka
O meu conhecimento em classe ainda é bem precário, o máximo que eu sei fazer é class Classe { public function teste( ) { echo "teste";} }
Mas hoje eu vi no fórum um código mais ou menos assim (new Class)->método1->método2;
A Gemini me ensinou que o nome disso é chamada encadeada. Não sei se um dia vou conseguir usar esse recurso, mesmo assim, eu pedi um exemplo prático para a Gemini:
class URLBuilder { private $url; public function __construct($base_url) { $this->url = $base_url; } public function adicionarParametro($param, $value) { $this->url .= "&$param=$value"; return $this; // Retorna o próprio objeto para permitir o encadeamento } public function build() { return $this->url; } } // Utilizando a classe: $url = new URLBuilder("https://www.exemplo.com"); $urlCompleta = $url->adicionarParametro("pagina", "1")->adicionarParametro("busca", "php")->build(); echo $urlCompleta; // Saída: https://www.exemplo.com&pagina=1&busca=php
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.