Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- #CONEXÃO COM BACO DE DADOS
- class Conexao {
- private $usuario;
- private $senha;
- private $banco;
- private $servidor;
- protected $mysqli;
- public function __construct()
- {
- $this->servidor = 'localhost';
- $this->banco = 'SubArtigo';
- $this->usuario = 'root';
- $this->senha = 'root';
- }
- public function Conectar()
- {
- mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
- try{
- if (is_null($this->mysqli))
- return $this->mysqli = new mysqli($this->servidor,$this->usuario,$this->senha,$this->banco);
- else
- return $this->mysqli;
- } catch(mysqli_sql_exception $e) {
- return die($e -> getMessage());
- }
- }
- }
- #OUTRO ARQUIVO. Relacionamento de Usuario e Endereco é Agregação
- #<?php
- include_once('Conexao.php');
- include_once('Endereco.php');
- include_once('../Helpers/Helpers.php');
- abstract class Usuario {
- private $Nome;
- private $Senha;
- private $Email;
- private $Telefone;
- private $NumeroParticipante;
- private $TipoUsuario;
- private $EnderecoID;
- public function __construct()
- {
- $this->con = new Conexao();
- $this->Endereco = new Endereco();
- }
- public function __set($nome, $valor)
- {
- $this->$nome = $valor;
- }
- public function __get($nome)
- {
- return $this->$nome;
- }
- public function queryAddUsuario($dados)
- {
- try {
- $this->Nome = $dados['Nome'];
- $this->Senha = md5($dados['Senha']);
- $this->Email = $dados['Email'];
- $this->Telefone = $dados['Telefone'];
- $this->NumeroParticipante = uniqid();
- $this->TipoUsuario = $dados['TipoUsuario'];
- $endereco = $this->Endereco->AddEndereco($dados);
- $usuario = $this->con->Conectar()->query("INSERT INTO usuario (nome,senha,email,telefone,numero_participante,tipo_usuario,endereco_id) VALUES ('$this->Nome','$this->Senha','$this->Email','$this->Telefone','$this->NumeroParticipante','$this->TipoUsuario','$this->EnderecoID')");
- if ($usuario && $endereco)
- return 'ok';
- else
- return 'erro';
- } catch (PDOException $e) {
- return 'error '.$e->getMessage();
- }
- }
- }
- #OUTRO ARQUIVO. Endereco
- #<?php
- include_once('Conexao.php');
- class Endereco {
- private $Rua;
- private $Bairro;
- private $Numero;
- private $Cep;
- private $Cidade;
- private $Estado;
- private $LocalEmpresa;
- public function __construct()
- {
- $this->con = new Conexao();
- }
- public function AddEndereco($dados) {
- try {
- $this->Rua = $dados['Rua'];
- $this->Bairro = $dados['Bairro'];
- $this->Numero = $dados['Numero'];
- $this->Cep = $dados['Cep'];
- $this->Cidade = $dados['Cidade'];
- $this->Estado = $dados['Estado'];
- $this->LocalEmpresa = $dados['LocalEmpresa'];
- $Endereco = $this->con->Conectar()->query("INSERT INTO endereco (rua,bairro,numero,cep,cidade,estado,local_empresa) VALUES ('$this->Rua','$this->Bairro','$this->Numero','$this->Cep','$this->Cidade','$this->Estado','$this->LocalEmpresa')");
- if ($Endereco) { return true; }
- else { $Endereco->close(); }
- } catch (mysqli_sql_exception $ex) {
- return 'error '.$ex->getMessage();
- }
- }
- }
- #OUTRO ARQUIVO.
- #<?php
- include_once('Usuario.php');
- class Participante extends Usuario {
- function __construct() {
- parent::__construct();
- }
- public function enviarArtigo()
- {
- /*implementar */
- }
- }
- #OUTRO ARQUIVO.
- #<?php
- include_once('Usuario.php');
- class Revisor extends Usuario {
- function __construct() {
- parent::__construct();
- }
- public function enviarAvaliacao()
- {
- /*implementar */
- }
- }
- /*
- Tenho um formulário que contem todos os dados de usuário e endereço.
- No banco a tenho o seguinte relacionamento de usuários com endereço(Não pode cadastrar um usuário sem o endereço N 1).
- Minha Duvida, como vou cadastrar um usuário sendo que preciso do id do endereço para cadastrar o usuário, tenho que fazer uma
- consulta antes para pegar o último endereço cadastrado para colocar no cadastro de usuário ? como faço esse tipo de
- implementação com POO ?
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement