Ir para conteúdo
Fórum Script Brasil
  • 0

O misterioso método __construct


Frank K Hosaka

Pergunta

Desde 2020 é que venho escrevendo a mesma coisa no PHP, assim, $mysqli=new mysqli("localhost","root","","astudy"), só hoje é que aprendi um pouco mais sobre classe.

A classe geralmente tem essa gramática: class mysqli { }, ou seja, uma classe não é a mesma coisa que uma função.

Se a classe não é a mesma coisa que a função, como é que vou passar o host, o usuário, a senha e o banco de dados ao criar uma nova instância da classe?

Eu nunca vi a classe mysqli do PHP, mas desconfio que ele seja mais ou menos assim:

class mysqli {
	public $host;
	public $user;
	public $password;
	public $dbname;
	public function __construct($host=null,$user=null,$password=null,$dbname=null){
		$this->host=$host;
		$this->user=$user;
		$this->password=$password;
		$this->dbname=$dbname;}
}

Desde 2020 é que vejo algumas classes com essa função __construct, mas eu não tinha a menor ideia para que ele servia. Hoje eu aprendi que o __construct é que vai criar uma nova classe mas com alguns parametros já pre definidos ou não. Para ter essa opção de usar uma classe com ou sem parâmetros, você precisa definir as variáveis dentro da função __construct, tipo "$host=null".

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 1

A partir do momento em que instancias um objeto, ele não se chama mais class

$mysqli = new mysqli(...)

$mysqli é um objeto
instaciado pelo formato definido pela class mysqli


Compare as classes como plantas de arquitetura
e os objetos como os prédios

assim como os prédios não são as plantas, mas foram criados de acordo com as definições das plantas
os objetos não são classes, mas foram criados de acordo com o que as classes determinaram

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...