Мой код является объектно-ориентированным?


у Меня есть код, и я хотел бы знать, если даже это объектно-ориентированного кода. Следует структуре. Работа с 3 файлов.

1 пламя save.php, выполняется следующий код:

include_once('dao.php');
include_once('modelo.php');
$post = new Post();
$post->setDescricao($_POST['custo_descricao_html']);
$post->setMes($_POST['custo_mes_atual']);
$post->setLocal($_POST['custo_local_html']);
$post->setPreco($_POST['custo_custo_html']);
$post->setObservacao($_POST['custo_observacao_html']);
$post->setColaborador_id($_POST['colaborador_logado_custo']);


$dao = new DaoCusto();

if ($_POST['custo_controle_html'] == 0) {
 $post->setId(rand(0, time()));
 $resultado = $dao->insert($post);
 echo($resultado == 'salvo') ? '0' : $resultado;
} else {
 $post->setId($_POST['custo_idUpdate_html']);
 $resultado = $dao->update($post);
 echo($resultado == 'salvo') ? '0' : $resultado;
}

2 файла, которые я gets sets, modelo.php:

<?php

    class Post {

    private $id;
    private $descricao;
    private $mes;
    private $local;
    private $preco;
    private $observacao;
    private $colaborador_id;

    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
        return $this;
    }

    public function getDescricao() {
        return $this->descricao;
    }

    public function setDescricao($descricao) {
        $this->descricao = $descricao;
        return $this;
    }


    public function getMes() {
        return $this->mes;
    }

    public function setMes($mes) {
        $this->mes = $mes;
        return $this;
    }

    public function getLocal() {
        return $this->local;
    }

    public function setLocal($local) {
        $this->local = $local;
        return $this;
    }

    public function getPreco() {
        return $this->preco;
    }

    public function setPreco($preco) {
        $this->preco = $preco;
        return $this;
    }

    public function getObservacao() {
        return $this->observacao;
    }

    public function setObservacao($observacao) {
        $this->observacao = $observacao;
        return $this;
    }

    public function getColaborador_id() {
        return $this->colaborador_id;
    }

    public function setColaborador_id($colaborador_id) {
        $this->colaborador_id = $colaborador_id;
        return $this;
    }

    }

третий файл, который является, где я делаю мой CRUD , dao.php

     <?php

     require_once '../../../conexao/conexao.php';
     require_once 'modelo.php';

    class DaoCusto {

    public static $instance;

    public function __construct() {

    }

    public function insert(Post $custo) {
        try {


            $sql = "INSERT INTO  tb_custo (custo_id , custo_descricao , custo_mes , custo_local , custo_preco , custo_observacao , colaborador_colaborador_id)   values (:custo_id , :custo_descricao , :custo_mes , :custo_local , :custo_preco , :custo_observacao  , :colaborador_colaborador_id)";

            $p_sql = Conexao::getInstance()->prepare($sql);

            $p_sql->bindValue(':custo_id', $custo->getId());
            $p_sql->bindValue(':custo_descricao', $custo->getDescricao());
            $p_sql->bindValue(':custo_mes', $custo->getMes());
            $p_sql->bindValue(':custo_local', $custo->getLocal());
            $p_sql->bindValue(':custo_preco', $custo->getPreco());
            $p_sql->bindValue(':custo_observacao', $custo->getObservacao());
            $p_sql->bindValue(':colaborador_colaborador_id', $custo->getColaborador_id());

            return ($p_sql->execute()) ? 'salvo' : false;
        } catch (PDOException $e) {
            return 'Erro, contate o suporte!Código:' . $e->getCode() . 'Mensagem:' . $e->getMessage();
        }
    }

    public function Update(Post $custo) {
        try {


            $sql = "UPDATE tb_custo SET   custo_descricao= :custo_descricao , custo_mes= :custo_mes , custo_local= :custo_local , custo_preco= :custo_preco , custo_observacao= :custo_observacao , colaborador_colaborador_id= :colaborador_colaborador_id WHERE custo_id= :custo_id ";
            $p_sql = Conexao::getInstance()->prepare($sql);

            $p_sql->bindValue(':custo_descricao', $custo->getDescricao());
            $p_sql->bindValue(':custo_mes', $custo->getMes());
            $p_sql->bindValue(':custo_local', $custo->getLocal());
            $p_sql->bindValue(':custo_preco', $custo->getPreco());
            $p_sql->bindValue(':custo_observacao', $custo->getObservacao());
            $p_sql->bindValue(':colaborador_colaborador_id', $custo->getColaborador_id());
            $p_sql->bindValue(':custo_id', $custo->getId());

            return ($p_sql->execute()) ? 'salvo' : false;
        } catch (PDOException $e) {
            return 'Erro, contate o suporte!Código:' . $e->getCode() . 'Mensagem:' . $e->getMessage();
        }
    }

   }

Эта структура является объектно-ориентированным?

Author: Mineiro, 2016-12-06

1 answers

Как это можно сделать " ориентации объекта в PHP класс Post - это хорошо ООП, только не больше, потому что не использует наследование и полиморфизм. Есть инкапсуляция и каким-то абстракции. Прирост быть сделано таким образом, мне кажется, близки к нулю, но нельзя сказать, что что-то произошло. array ассоциативный было бы гораздо проще, что заставляет меня думать, что увеличение, можно считать отрицательным.

DaoCusto это немного меньше. Все, что есть статический менее объектно-ориентированным, но немного. Было бы намного проще создать простую функцию. Настаивает на использовании механизмом, который не помещается там. Работает, есть люди, которым нравится делать так, но нет увеличения, наоборот.

Вопрос: в чем актуальность этого? Цель следовать формуле, не понимая, почему или сделать что-то, что поможет, код лучше? ООП не делает код лучше по волшебству, и бывают случаи, что это может ухудшить то, что вы делаете. Не кажется, как в вашем случае, когда пришлось быть прагматичными, пока не было, по крайней мере на части.

См.: , "объектно-Ориентированный", и какие другие методы?

Поймите, что объект ориентации-это что-то вторичное для программирования. PHP еще.

 6
Author: Maniero, 2020-03-25 20:00:30