Download the PHP package jandersongarcia/mob without Composer
On this page you can find all versions of the php package jandersongarcia/mob. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jandersongarcia/mob
More information about jandersongarcia/mob
Files in jandersongarcia/mob
Informations about the package mob
MOB: Modular Object Builder
O MOB é um framework em PHP com JavaScript, conhecido como MOB: Modular Object Builder. Projetado para simplificar a rápida construção de aplicações web completas ou atuar como backend, o MOB destaca-se pela abordagem modular do seu construtor de objetos.
Esta documentação fornece informações cruciais para começar o desenvolvimento com o MOB, focando especialmente no Modular Object Builder. Com essa abordagem modular na construção de objetos, o MOB proporciona uma flexibilidade organizada, tornando o desenvolvimento mais eficiente e estruturado.
Sumário
- MOB: Modular Object Builder
- Sumário
- Pré-requisitos de Ambiente
- Estrutura de Pastas
- Dependências e Bibliotecas
- Instalação
- Criação de Páginas
- Estrutura da Página Criada
- Trabalhando com Rotas
- Criação de subrotas
- Listar Rotas
- Renomear rota
- Criação de Componentes
- Estrutura do Componente Criado
- Criação de Módulos
- Estrutura do Módulo Criado
- Módulo de CRUD
- Configuração do Banco de Dados
- Exemplo de Uso
- Exemplo de Uso com Consulta SQL Personalizada
- Consultas SQL Mais Complexas
- Métodos Disponíveis
insert($table, $data)
getAll($table)
getById($table, $primaryKey, $id)
update($table, $data, $id)
delete($table, $id)
query($sql, $params)
- Envio de E-mails
- Envio de e-mail com template
- Requisições com JavaScript
- Contribuição
- Licença
Pré-requisitos de Ambiente
Antes de iniciar o desenvolvimento com o MOB, é crucial garantir que sua máquina atenda aos seguintes pré-requisitos de ambiente, listados em ordem de importância:
-
PHP: O MOB é baseado em PHP; portanto, certifique-se de ter o PHP instalado em sua máquina. Recomendamos a versão 7.2 ou superior. Você pode baixar o PHP em php.net.
-
Composer: O Composer é uma ferramenta essencial para gerenciar as dependências do MOB. Certifique-se de ter o Composer instalado em sua máquina. Você pode baixar o Composer em getcomposer.org.
-
Node.js e npm: O MOB utiliza dependências JavaScript gerenciadas pelo Node.js e npm. Certifique-se de ter o Node.js e o npm instalados em sua máquina. Você pode baixar o Node.js em nodejs.org.
-
Banco de Dados (MySQL ou PostgreSQL): Se você estiver utilizando um banco de dados, certifique-se de ter o MySQL ou o PostgreSQL instalado e configurado corretamente em sua máquina. Faça o download do MySQL em mysql.com ou do PostgreSQL em postgresql.org.
- Configuração do Banco de Dados: Após a instalação do banco de dados, certifique-se de configurar corretamente as informações de conexão no arquivo
config/database.php
.
Esses pré-requisitos são essenciais para garantir um ambiente de desenvolvimento adequado e suave ao trabalhar com o MOB. Certifique-se de seguir essas etapas na ordem apresentada para uma configuração eficiente.
Estrutura de Pastas
-
app: Contém os componentes principais da aplicação.
- components: Armazena os componentes reutilizáveis.
- modules: Contém os módulos para interação com o backend.
- pages: Guarda as páginas da aplicação.
- app.php: Arquivo principal de configuração.
-
config: Configurações da aplicação.
- app.php: Configurações gerais.
- database.php: Configurações de conexão com o banco de dados.
- prestart.php: Arquivo de pré-inicialização.
-
core: Núcleo do framework.
- class: Classes principais do framework.
- application.php: Classe de aplicação principal.
- mobi.php: Classe principal do MOB.
- root.php: Classe de raiz.
- routes.php: Classe para o tratamento de rotas.
- database: Classes de conexão com bancos de dados.
- mysql.php: Classe para conexão com MySQL.
- pgsql.php: Classe para conexão com PostgreSQL.
- js: Arquivos JavaScript.
- routes.mobi.js: Controlador JavaScript principal.
- request.mobi.js: Tratamento de requisições via GET e POST.
- json: Arquivos JSON.
- routes.json: Definição de rotas em formato JSON.
- php: Scripts PHP.
- composer: Scripts para criação e exclusão de componentes e páginas.
- controller: Scripts para gerar arquivos CSS e JavaScript.
- pages: Páginas específicas.
- start.php: Arquivo de inicialização.
-
languages: Traduções da aplicação.
- pt-br.php: Tradução para o português brasileiro.
-
node_modules: Dependências Node.js.
-
public: Recursos públicos acessíveis pelo navegador.
- assets: Ícones e imagens.
- css: Estilos da aplicação.
- styleRoot.css: Estilo principal.
- error: Páginas de erro.
- 403.php: Página de erro 403 (Acesso Negado).
- 404.php: Página de erro 404 (Não Encontrado).
- js: Scripts JavaScript.
- styleRoot.js: Script JavaScript principal.
-
templates: Templates utilizados pelo sistema.
- email: Temas de e-mails.
- erros: Temas das mensagens de erro.
-
var: Armazena variáveis temporárias.
- logs: Registra informações importantes sobre o funcionamento da aplicação.
- temp: Guarda arquivos temporários utilizados durante a execução do projeto.
-
vendor: Dependências PHP.
-
.htaccess: Configurações do Apache.
-
composer.json, composer.lock: Configurações e bloqueio de versões para o Composer.
-
index.php: Ponto de entrada da aplicação.
-
package-lock.json, package.json: Configurações do Node.js.
- robots.txt: Arquivo de exclusão de robôs.
Dependências e Bibliotecas
O MOB faz uso das seguintes bibliotecas e dependências, algumas incorporadas diretamente:
-
matthiasmullie: Biblioteca PHP para manipulação de arquivos e diretórios. matthiasmullie/github.
-
bootstrap: Framework front-end para design responsivo, opcionalmente incorporado no MOB. twbs/bootstrap.
-
bootstrap-icons: Conjunto de ícones para uso com Bootstrap. twbs/bootstrap-icons.
-
navigo.js: Biblioteca para roteamento no lado do cliente, simplificando a construção de Single Page Applications. krasimir/navigo.
-
jquery: Biblioteca JavaScript para manipulação do DOM, opcionalmente incorporada no MOB. jquery/jquery
- PHPMailer: Biblioteca PHP para envio de e-mails. phpmailer/phpmailer
Ao utilizar o MOB, você tem a flexibilidade de incorporar o Bootstrap e o jQuery ou substituí-los por outras bibliotecas.
Certifique-se de revisar a documentação oficial de cada biblioteca para obter informações detalhadas sobre sua utilização e configuração.
Instalação
- Antes de criar o projeto, certifique-se de que sua máquina local tenha PHP e Composer instalados.
- Depois de instalados, você pode criar um novo projeto através do comando create-project do Composer:
Criação de Páginas
O MOB simplifica a criação de páginas automaticamente através do Composer.
- Isso criará a pasta da página e configurará a rota em core/json/routes.json.
- A estrutura da pasta criada é a seguinte:
Estrutura da Página Criada
-
app
- pages
- Novapagina: pasta da página
- Novapagina.controller.php: scripts de controle da página
- Novapagina.css: folha de estilo CSS
- Novapagina.js: arquivo JavaScript da página
- Novapagina.view.php: página de visualização
- pages
- Para excluir uma página, utilize o comando.
Trabalhando com Rotas
- Para utilizar as rotas, basta colocar o caminho dentro de um link.
- Supondo que temos as rotas 'product' e 'product/form' para chamar em links diferentes, ficaria assim:
Criação de subrotas
- No caso de subrotas, podemos informar o caminho na criação da página.
- Por exemplo: Se precisar de uma subrota empresa/cadastro, o comando seria
Listar Rotas
- Caso precise listar as rotas da sua aplicação, poderá utilizar o comando composer mob-list-routes ou acessá-las diretamente no arquivo json que fica em core/json/routes.json.
Renomear rota
- Para alterar o nome de uma rota, use o comando composer mob-rename-route rota-atual nova-rota
- Por exemplo: Supondo que precise alterar a rota product para register, o comando ficaria o seguinte: composer mob-rename-route product register
Criação de Componentes
A utilização de componentes oferece uma maneira simples e eficiente de reutilizar código.
-
Utilize o comando:
- Isso criará o componente automaticamente dentro da pasta components.
Estrutura do Componente Criado
-
app
- components
- Novocomponente: pasta do componente
- Novocomponente.controller.php: scripts de controle do componente
- Novocomponente.css: folha de estilo CSS
- Novocomponente.js: arquivo JavaScript do componente
- Novocomponente.view.php: página de visualização do componente
- components
- Para excluir um componente, podemos usar o comando remove.
Criação de Módulos
- Os módulos são úteis para interação com o backend via requisição.
- Os arquivos do módulo serão criados dentro do diretório modules.
- Utilize o comando:
Estrutura do Módulo Criado
- app
- modules
- Novomodulo: pasta do módulo
- Novomodulo.controller.php: scripts de controle
- Novomodulo.modal.php: página de modal
Módulo de CRUD
O CRUD (Create, Read, Update, Delete) do MOB facilita a manipulação de dados em um banco de dados MySQL ou PostgreSQL. Este fornece métodos para realizar estas operações de forma eficiente, eliminando a necessidade de escrever consultas SQL manualmente.
Configuração do Banco de Dados
Antes de utilizar o módulo de CRUD, é necessário configurar as informações do banco de dados no arquivo database.php
dentro da pasta config
. Certifique-se de fornecer as informações corretas de acordo com o banco de dados que você está utilizando (MySQL ou PostgreSQL). O PostgreSQL atualmente está inoperante Inoperante.
Para a seção mysql, preencha os campos "local" com os dados da sua conexão local e "web" com os dados do banco de dados do seu servidor web. Dessa maneira, a configuração precisa ser realizada apenas uma vez, proporcionando uma experiência mais eficiente.
Exemplo de Uso
A seguir, apresentamos um exemplo didático de como utilizar o módulo de CRUD em um ambiente MySQL. O mesmo princípio se aplica ao PostgreSQL, ajustando apenas a configuração do banco de dados.
Certifique-se de substituir 'nome_tabela'
, 'campo1'
, 'campo2'
, etc., com os valores correspondentes ao seu banco de dados.
Exemplo de Uso com Consulta SQL Personalizada
Para realizar uma consulta SQL personalizada simples, você pode utilizar o método query
do módulo de CRUD do MOB. Vamos exemplificar a execução de uma consulta SELECT básica.
Este exemplo executa uma consulta SQL simples utilizando um WHERE com um parâmetro de condição.
Consultas SQL Mais Complexas
Para consultas mais complexas que envolvem INNER JOIN, ORDER BY e GROUP BY, você pode construir de acordo com suas necessidades. A seguir, apresentamos um exemplo que combina esses elementos.
Neste exemplo:
- Realizamos um INNER JOIN entre as tabelas
usuarios
epedidos
. - Utilizamos um WHERE para filtrar por uma condição específica (cidade dos usuários).
- Aplicamos um GROUP BY para contar o total de pedidos por usuário.
- Utilizamos ORDER BY para ordenar os resultados pelo total de pedidos em ordem decrescente.
Todas as respostas desses métodos são fornecidas em formato JSON para facilitar a manipulação dos dados por outras linguagens, como o JavaScript.
Métodos Disponíveis
A seguir, estão os métodos disponíveis no módulo de CRUD:
insert($table, $data)
Insere dados em uma tabela e retorna um JSON indicando sucesso ou falha na inserção.
getAll($table)
Obtém todos os registros de uma tabela e retorna um JSON.
getById($table, $primaryKey, $id)
Obtém um registro por ID de uma tabela e retorna um JSON.
update($table, $data, $id)
Atualiza um registro em uma tabela e retorna um JSON indicando sucesso ou falha na atualização.
delete($table, $id)
Exclui um registro de uma tabela e retorna um JSON indicando sucesso ou falha na exclusão.
query($sql, $params)
Executa uma consulta SQL personalizada e retorna os resultados em JSON.
Lembre-se de adaptar os exemplos conforme necessário para atender aos requisitos específicos da sua aplicação. Este é apenas um guia inicial para o uso do módulo de CRUD no MOB. Para obter informações detalhadas sobre outros métodos ou personalizações avançadas, consulte a documentação oficial do MOB.
Envio de E-mails
Para enviar e-mails, primeiro, preencha o arquivo PhpMailer.php localizado na pasta Config. Se estiver testando em um servidor local, verifique se a configuração está correta. Uma vez configurado, execute o seguinte comando para confirmar o envio:
Substitua [email protected] pelo endereço de e-mail para receber a mensagem de teste.
Envio de e-mail com template
Requisições com JavaScript
Para simplificar o processo de envio de solicitações via POST ou GET em JavaScript, recomendo a utilização da biblioteca Mobi-Request. Essa pequena biblioteca já está pré-instalada por padrão no MOB. [Documentação][https://github.com/jandersongarcia/mobiRequest]
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests para melhorar o MOB PHP.
Licença
Este projeto é licenciado sob a Licença MIT.
All versions of mob with dependencies
matthiasmullie/minify Version ^1.3
twbs/bootstrap Version ^5.3
twbs/bootstrap-icons Version ^1.10
phpmailer/phpmailer Version ^6.9