✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Criando um sistema CRUD no WordPress – wpDataTables Tables Plugin

335

Este artigo sobre como criar um sistema CRUD no WordPress foi publicado em 2014. No entanto, percebemos que esse tópico se tornou ainda mais atual, então decidimos dar uma nova aparência.

O que é um sistema CRUD, como integrar um sistema CRUD para MySQL em seu site WordPress, quais são os prós e contras de usar diferentes abordagens?

O que é um sistema CRUD?

A abreviatura CRUD vem de C reate, R ead, U pdate, D elete. O que, em outras palavras, significa um sistema de gerenciamento de dados. Na web, provavelmente significaria um software que gerencia entradas em seu banco de dados. Normalmente, refere-se ao MySQL, PostgreSQL, MS SQL ou outros mecanismos de banco de dados.

Um ótimo e, talvez, o exemplo mais popular de um sistema CRUD é o phpMyAdmin. PHPMyAdmin é uma ferramenta que é usada por quase todos os desenvolvedores web para gerenciar dados MySQL online. Tornou-se tão amplamente difundido que atualmente pode ser chamado de ferramenta padrão para gerenciar bancos de dados MySQL. Hoje em dia está pré-instalado em quase qualquer ferramenta CPanel em provedores de hospedagem.

Existem milhares de casos de uso padrão para sistemas CRUD. Por exemplo – quase qualquer catálogo, registro de entrada, informações estatísticas. Basicamente, qualquer coisa relacionada ao armazenamento de informações exigiria a adição, modificação e remoção de bits de informação. É quando os sistemas CRUD entram em ação.

Por que você precisaria de um sistema CRUD no WordPress?

O próprio WordPress é um poderoso CMS (Content Management System), que também é um caso especial do sistema CRUD. Como você sabe, os usuários do site WordPress podem adicionar posts e páginas, editá-los ou excluí-los. Mas às vezes você encontra uma situação em que precisa gerenciar alguns dados do banco de dados diretamente do front-end do WordPress, que geralmente não é postado ou relacionado à página e não se encaixa bem nas taxonomias do WordPress. Entre outras, pode ser uma dessas situações em que você precisaria de um sistema CRUD independente no WordPress:

  • Você gostaria de ter um rastreador de bugs, log de entrada ou alguma outra ferramenta de entrada de dados em seu site WordPress;
  • Ou, por exemplo, você deseja permitir que alguns dos usuários editem alguns dados relacionados a negócios do front-end do seu site sem fornecer acesso ao painel de administração do site WordPress, ou talvez até mesmo sem divulgar o fato de que o site é executado no WordPress;
  • Outro exemplo é um requisito para permitir que alguns usuários editem uma tabela de banco de dados. Por exemplo, modifique um pedido feito, edite alguns dados pessoais, etc.

E pedidos semelhantes.

Como integrar um sistema CRUD em um site WordPress?

A solução mais fácil – tente encontrar um plugin adequado

Primeiro – certifique-se de que você realmente precisa de um. Muitas das tarefas não são exclusivas e você provavelmente pode encontrar um plugin que atenda às suas necessidades. Por exemplo, se você precisar de um rastreador de bugs, como mencionado acima, você pode verificar e baixar este ou este.

E se você precisar de algo mais genérico, como editar diferentes tabelas MySQL do front-end do WordPress, experimente nosso plugin wpDataTables que é basicamente um sistema CRUD no WordPress. Você pode ver a lista de recursos e exemplos de como funciona aqui. Ou experimente uma versão Lite gratuita no repositório de plugins do WordPress.

Vale a pena notar que wpDataTables não impõe nenhuma limitação na estrutura de dados, quantidade de colunas ou linhas, suporta muitos tipos de dados e diferentes tipos de entrada do editor. Por exemplo, alguns tipos específicos como anexos ou DateTime. Além disso, permite editar dados através de um editor de formulários pop -up, com um editor embutido ou até mesmo com um editor de planilhas do tipo Excel.

Se você ainda sente que precisa construir um sistema CRUD personalizado no WordPress, você deve se preparar para alguma codificação séria para fazê-lo.

Iniciar um novo plug-in do WordPress

Se você acha que nenhum plugin atende às suas necessidades, crie o seu próprio! Pode não ser tão assustador quanto parece à primeira vista. Comece lendo este bom tutorial sobre como criar um plugin WordPress do zero. E também, claro, este no WordPress Codex.

O primeiro passo inicial ao criar qualquer plugin – incluindo um sistema CRUD em um plugin WordPress – é estruturar os arquivos corretamente.
A abordagem usual é colocar o arquivo de ponto CRUD de entrada principal no diretório raiz do plug-in e preparar várias subpastas:

  • Ativos – todos os javascripts, folhas de estilo, fontes, imagens e outros ativos estáticos que serão necessários para o seu sistema CRUD;
  • Source – pasta para as classes PHP “core" que irão realizar todas as funcionalidades CRUD no back-end;
  • Lib – pasta para quaisquer componentes de terceiros que você queira usar em seu sistema CRUD;
  • Templates – pasta para templates HTML que serão a interface do usuário para o seu sistema CRUD.

Pode haver mais (controladores, manipuladores de shortcode e outros) – mas isso é o mínimo para começar.

Criar editor de back-end (classes PHP)

Em primeiro lugar, você precisaria da parte de back-end: um script PHP que realmente faria os trabalhos CRUD. Para isso, você precisa conectá-lo ao WordPress DB (objeto global $ wpdb). Você pode ler um bom tutorial aqui sobre como usar o banco de dados WordPress e o objeto $wpdb em seus plugins.

Se você usar um banco de dados externo, você precisaria, por exemplo, usar uma conexão PDO separada, ou apenas funções PHP MySQLi embutidas (se seu mecanismo de banco de dados for MySQL).

Sua tarefa nesta etapa é preparar um conjunto de classes e métodos que aceitarão dados do front-end de alguma forma esperada, validá-los e higienizá-los (limpar todas as entradas é uma medida de segurança muito importante para todos os sistemas CRUD) e executar as ações INSERT, UPDATE e DELETE em seu banco de dados.

Conforme descrito na etapa anterior, esses arquivos “core” pertenceriam à pasta “source” do seu novo plugin CRUD WordPress.

Criar uma interface front-end (HTML, JS, PHP)

Quando as classes e métodos de gerenciamento de banco de dados estiverem preparados, seu plugin precisará de uma interface front-end para o usuário com seu novo sistema CRUD no WordPress. A melhor solução seria preparar um conjunto de modelos em seus novos arquivos de plug-in e enviá-lo onde você precisar com um código de acesso.

Faz sentido manter sempre os templates HTML separados do código (abordagem MVC), e preparar arquivos de template separados logicamente, por exemplo: “edit.tpl.php”, “delete.tpl.php”, “list.tpl.php “, etc. – um modelo para cada página ou ação CRUD.

Aqui você pode ler um ótimo artigo de codex sobre a API Shortcode do WordPress.

Conecte front-end com back-end com chamadas AJAX (JS)

Claro, você pode fazer isso “estilo old-school”, com envios de formulários simples e recarregamento de página. No entanto, hoje em dia não é mais uma abordagem comum. Usar AJAX é uma abordagem padrão, seja por meio de jQuery ou outras bibliotecas como Angular. Portanto, nossa recomendação é levar algum tempo e analisar o uso do AJAX em seus plugins do WordPress, aqui está um ótimo artigo do Codex sobre como usar o AJAX em seus plugins – tanto no lado administrativo quanto no front-end.

Você pode colocar o código JS na pasta “assets” que você preparou na primeira etapa.

Testar, refinar e depurar

Quando a parte de implementação estiver concluída – reserve um tempo e teste seu novo sistema CRUD no WordPress. Você não pode identificar todos os bugs desde o início, mas repetir ações de rotina CRUD várias vezes com exemplos diferentes (casos de "borda" preferíveis – por exemplo, quantidades muito grandes de dados, clicar várias vezes no mesmo botão etc.) para pegar a maioria dos bugs – e isso sempre acontece quando você implementa algo novo.

CRUD vs REST: Qual é a diferença

REST é um estilo de arquitetura de construção de aplicativos em rede com base em um protocolo de comunicação cliente-servidor, stateless e armazenável em cache, ou seja, o protocolo HTTP. CRUD é um acrônimo para CREATE, READ, UPDATE e DELETE, as funções básicas de armazenamento persistente em programação.

As operações CRUD, ou seja, CREATE, READ, UPDATE, DELETE, são semelhantes aos comandos básicos do REST, ou seja, GET, PUT, POST, DELETE, o que leva à confusão entre os dois. O que é CRUD? O que é RESTO? Em CRUD vs REST, qual é a definição de CRUD? O REST é uma mera cópia carbono do CRUD?

Estas são todas perguntas muito pertinentes que este artigo pretende responder em detalhe!

Como funciona o REST?

Você não pode entender termos como API REST, serviços REST, matriz CRUD ou banco de dados CRUD ou programação REST se não entender a diferença entre os dois processos no que diz respeito à maneira como eles funcionam. A confusão desaparecerá quando você conhecer essa diferença.

Você pode trabalhar REST em qualquer recurso, seja um arquivo de mídia, documento, site, etc. Não há restrições quanto ao que você pode trabalhar REST; você pode usar HTML apenas como protocolo de comunicação para apontar os recursos. REST significa Transferência de Estado Representacional.

REST indica que cada URL distinto representa algum objeto, que você pode acessar por meio de um HTTP GET, bem como modificá-lo e excluí-lo por meio de HTTP POST, PUT ou DELETE.

Como o CRUD funciona?

Você só pode aplicar CRUD em registros de banco de dados e não pode criar APIs CRUD como cria APIs REST. A aplicação CRUD é restrita a bancos de dados, razão pela qual CRUD, diferentemente do REST, não é um estilo de arquitetura, mas um ciclo. Todos os aplicativos e sites contêm diferentes ciclos CRUD.

Por exemplo, um visitante em um site de comércio eletrônico pode CRIAR uma conta, ATUALIZAR a conta, LER as informações e EXCLUIR a conta. Esse é um ciclo CRUD completo que inclui todas as operações CRUD.

Por exemplo, no mesmo site de comércio eletrônico, um visitante pode CRIAR um item no carrinho eletrônico e, em seguida, completar o ciclo CRUD completo por LEITURA, ATUALIZAÇÃO e até EXCLUSÃO do item.

A Fundação e os Princípios do REST

Os comandos básicos da Representational State Transfer – a sigla REST – giram em torno de um objeto ou recurso, que pode ser descrito como qualquer coisa que você possa revelar usando o protocolo HTTP. Exemplos de recursos REST: imagem, site, documento, serviço. O céu é o limite.

REST é uma Interface de Programação de Aplicativos, ou API, ou uma arquitetura destinada a multimídia distribuída. Uma API é um serviço web que segue os princípios da arquitetura REST. Assim, REST chama cada API por meio de um dos métodos de solicitação HTTP, GET, PUT, POST e DELETE.

Os Seis Princípios Orientadores da Arquitetura RESTful

  1. Mandato cliente-servidor

O mandato cliente-servidor enfatiza o fato de que REST representa um método distribuído que depende da natureza da separação cliente-servidor. Um serviço REST envolve vários recursos e atende a solicitações. O cliente faz as solicitações e o servidor as aceita ou nega.

  1. Apatridia

Criando um sistema CRUD no WordPress - wpDataTables Tables Plugin

A ausência de estado restringe o tipo de solicitações que podem ser enviadas entre consumidor e servidor. Na verdade, é a solicitação que inicia a comunicação cliente-serviço, onde a solicitação contém todas as informações necessárias para que o servidor responda.

  1. Cache

O objetivo de armazenar em cache uma solicitação é nunca ter que enviar a mesma solicitação duas vezes porque o armazenamento em cache instrui o servidor a rotular as respostas como armazenáveis ​​em cache ou não. Como resultado, o cache reduz as restrições ou restrições geradas pela ausência de estado.

  1. Contrato Uniforme

O Contrato Uniforme exclui o uso de várias interfaces independentes dentro de uma Interface de Programação de Aplicativos ou API. O REST segue os princípios de um Contrato Uniforme. Portanto, uma interface REST é compartilhada por meio de conexões hipermídia.

  1. Sistema em camadas

Um sistema em camadas emprega várias camadas independentes para desenvolver e estender a interface. Como as camadas não podem ver umas nas outras, podem ser inseridos novos pedidos e middleware que não terão impacto nos comandos iniciais e no funcionamento cliente-servidor.

  1. Opcional: Código sob demanda

Embora Cliente-Servidor, Cache, Sem Estado, Contrato Uniforme e Sistema em Camadas sejam itens obrigatórios para aplicativos RESTful, o Code-On-Demand não é obrigatório. No entanto, o Code-on-Demand permite que a lógica dentro dos clientes permaneça independente e, portanto, atualizada separadamente da lógica do servidor.

Considerações finais sobre CRUD vs REST

O CRUD envolve as operações essenciais realizadas no armazenamento de dados estáticos ou bancos de dados, como manipulação de registros ou objetos passivos. CRUD essencialmente manipula dados básicos.

REST conta com a representação de recursos por meio de URLs únicas, onde os recursos são abstrações de objetos, onde o comentário de um usuário pode ser um recurso, por exemplo.

Como tal, REST envolve mais do que um registro em uma tabela de comentários. REST é sobre o relacionamento do registro com o recurso do usuário e a postagem/comentário ao qual ele está anexado. REST é um estilo de API de alto nível que interage com um sistema complexo.


Claro, este artigo não era um tutorial completo – já que levaria vinte páginas para escrever um. Mas deixe-nos saber se você tiver alguma dúvida, ou gostaria de ver um exemplo específico passo a passo, e nós criaremos um para você.

Esperamos que tenha sido útil de alguma forma.

Obrigado por ler!

Fonte da imagem: http://www.tyseo.net

Fonte de gravação: wpdatatables.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação