Neste artigo vamos conhecer o Phreeze e aprender como tirar proveito deste framework para construção de aplicativos PHP. Além disso, vamos construir uma aplicação completa em apenas 10 minutos.

Operações CRUD (Create, Read, Update, Delete) são sempre muito repetitivas, principalmente se escrevermos nosso código sem uso de nenhum framework. Por isso, a proposta do Phreeze é automatizar esse trabalho para que o desenvolvedor possa ficar com tempo livre para cuidar de outros detalhes do programa.

Conhecendo o Framework Phreeze

Phreeze é um framework para construção de aplicações PHP. Ele trabalha apenas com o banco de dados MySQL e seu visual é totalmente baseado no framework Bootstrap, além de ser livre tanto para uso particular como para uso comercial.

Phreeze Framework é composto de três componentes:

  • Arquitetura MVC (Model, View, Controller).
  • Técnica ORM (Object-Relational Mapping) para manipular o banco de dados através de classes PHP.
  • Phreeze Builder – um utilitário para gerar aplicações Phreeze.

Para dar uma olhada na documentação oficial Phreeze acesse o link http://phreeze.com/phreeze/documentation/introduction.php

Explicando o Phreeze Builder

O Phreeze Builder analisa seu banco de dados e gera uma aplicação CRUD completa e pronta para ser usada ou personalizada. A modelagem do banco é de extrema importância para se gerar uma boa aplicação no Phreeze.

Construindo a aplicação

A primeira coisa que precisamos ter em mente é que nosso banco de dados precisa ser muito bem modelado para que a aplicação funcione corretamente, pois o Phreeze irá gerar o CRUD com base em nosso banco. Então, antes de começar, crie seu banco de dados com todos os relacionamentos necessários para que não haja problemas. Na Listagem 1 temos o código para a criação do BD.

Listagem 1. Criando o Banco de Dados MYSQL.


  SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
   
  CREATE SCHEMA IF NOT EXISTS `EmpresaX` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
   
  CREATE TABLE IF NOT EXISTS `EmpresaX`.`cliente` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `nome` VARCHAR(50) NULL DEFAULT NULL,
    `email` VARCHAR(50) NULL DEFAULT NULL,
    `endereco` VARCHAR(150) NULL DEFAULT NULL,
    `historico` LONGTEXT NULL DEFAULT NULL,
    PRIMARY KEY (`id`))
  ENGINE = InnoDB
  DEFAULT CHARACTER SET = utf8
  COLLATE = utf8_general_ci;
   
  CREATE TABLE IF NOT EXISTS `EmpresaX`.`recibo` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `data` DATE NULL DEFAULT NULL,
    `servico_id` INT(11) NOT NULL,
    `cliente_id` INT(11) NOT NULL,
    PRIMARY KEY (`id`),
    INDEX `fk_recibo_cliente_idx` (`cliente_id` ASC),
    INDEX `fk_recibo_servico_idx` (`servico_id` ASC),
    CONSTRAINT `fk_recibo_servico`
      FOREIGN KEY (`servico_id`)
      REFERENCES `EmpresaX`.`servico` (`id`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
    CONSTRAINT `fk_recibo_paciente`
      FOREIGN KEY (`cliente_id`)
      REFERENCES `EmpresaX`.`cliente` (`id`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION)
  ENGINE = InnoDB
  DEFAULT CHARACTER SET = utf8
  COLLATE = utf8_general_ci;
   
  CREATE TABLE IF NOT EXISTS `EmpresaX`.`servico` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `descricao` VARCHAR(100) NULL DEFAULT NULL,
    `valor` DECIMAL(10,2) NULL DEFAULT NULL,
    PRIMARY KEY (`id`))
  ENGINE = InnoDB
  DEFAULT CHARACTER SET = utf8
  COLLATE = utf8_general_ci;
   
  SET SQL_MODE=@OLD_SQL_MODE;
  SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
  

Para a modelagem do banco de dados foi usada a ferramenta MySQL Workbench. Você pode realizar o seu download no link http://www.mysql.com/products/workbench/

Nosso banco tem duas chaves estrangeiras, como podemos ver na Figura 1.

Modelando o banco
de dados no Mysql Workbench

Figura 1. Modelando o banco de dados no Mysql Workbench.

O próximo passo é baixar o Phreeze. Use o link http://www.phreeze.com/.

Escolha o servidor que mais te agrada e instale em sua máquina local. Aqui vão algumas sugestões:

Com seu ambiente preparado e o Phreeze Framework baixado, vá até a pasta htdocs ou www (htdocs para o Xampp e o Zend Server e www para o Wamp) e descompacte o phreeze. Neste momento é muito importante não esquecer de renomear a pasta de phreeze-master para phreeze. Caso você não faça isso, não conseguirá gerar sua aplicação.

Configurando o Phreeze Builder

Se você seguiu todos os passos anteriores, neste momento basta acessar o endereço: http://localhost/phreeze/builder/ e você terá uma tela como a da Figura 2.

Phreeze
Builder aqui nós iremos gerar nossa aplicação

Figura 2. Phreeze Builder aqui nós iremos gerar nossa aplicação.

Vamos configurar os parâmetros para a geração da nossa aplicação de acordo com a ordem que é mostrada pelo Phreeze Builder:

  • Mysql Host: Port (é o seu servidor e a porta; localhost : 3306),
  • Mysql Driver (Dê preferência ao PDO por ser mais atual),
  • Schema Name (é o nome do seu banco de dados; “empresax”),
  • Mysql Username (o usuário do banco de dados, no meu caso estou usando o root),
  • Mysql Password (a senha do seu banco de dados, no meu caso não tenho senha)

Com tudo devidamente configurado, basta clicar no botão Analize Database e deixar que o Phreeze Builder analise seu banco de dados, como podemos ver na Figura 3.

Escolhendo as
tabelas que farão parte da aplicação

Figura 3. Escolhendo as tabelas que farão parte da aplicação.

Na Figura 3 vamos escolher as tabelas que farão parte da nossa aplicação aqui vale algumas explicações:

  • Table (o nome da sua tabela);
  • Singular Name (o nome singular para a tabela);
  • Plural Name (o nome plural para a tabela);
  • Column Prefix (prefixos de tabelas caso existam).

A Figura 4 mostra o restante da configuração para a criação da nossa aplicação.

Passos finais para geração de nossa aplicação

Figura 4. Passos finais para geração de nossa aplicação.

Vamos conhecer as configurações do Application Options:

  • Package To Generate: São configurações relativas ao tipo do template que usaremos na nossa aplicação vamos deixar como default.
  • Application Name: O nome da nossa aplicação.
  • Application Root URL: Escolha a URL padrão para o nosso sistema, essas configurações podem ser alteradas no arquivo: _machine_config.php
  • Path to /phreeze/libs: Nesta configuração escolhemos a pasta das bibliotecas do phreeze. Vamos deixar o caminho padrão, lembrando que essas configurações podem ser modificadas no arquivo _machine_config.php
  • Make Self-Contained: Caso você deseje manter as bibliotecas do phreeze na pasta libs/ de sua aplicação escolha a opção Yes. Caso contrário, deixe como No.
  • Long Polling: Com essa opção ativada a nossa aplicação será atualizada via AJAX, o que dará a sensação para o usuário de que se trata de uma aplicação em tempo real, já que não é necessário carregar uma página sempre que fizermos uma pesquisa, use com precaução, pois essa opção pode causar lentidão no nosso programa. No exemplo essa opção está desligada.

Gerando e testando nossa aplicação gerada com o Phreeze

Após clicarmos no botão ”Generate Application”, automaticamente nosso programa foi gerado. Agora é só descompactar o mesmo dentro do nosso servidor e testar através do link: http://localhost/empresax/. A tela inicial de nossa aplicação pode ser visualizada na Figura 5.

Tela inicial da aplicação gerada com o
Phreeze

Figura 5. Tela inicial da aplicação gerada com o Phreeze.

Um menu é gerado baseado nas tabelas do nosso banco de dados, onde é gerado um item de menu para cada tabela. Na Figura 6 podemos ver a tela de inserção de clientes.

Tela inicial da aplicação gerada com o
Phreeze

Figura 6. Tela de inclusão de clientes.

Como nosso banco de dados usa duas chaves estrangeiras para o recibo, primeiro precisamos cadastrar o cliente para depois o serviço. Por fim, cadastramos um novo recibo onde o cliente e o serviço será incluído via chave estrangeira do banco de dados. O Phreeze framework se encarrega de fazer essa ligação, então tudo o que precisamos é modelar nosso banco de dados corretamente, conforme a Figura 7.

A tela de inclusão de recibo com as devidas
ligações via chave estrangeira

Figura 7. A tela de inclusão de recibo com as devidas ligações via chave estrangeira

Com isso, podemos concluir que o Phreeze Framework é uma ferramenta incrível para automatizar todo o trabalho pesado para o desenvolvedor, além de ser totalmente livre para uso particular ou comercial. Podemos dizer que o Phreeze Framework é uma ótima ferramenta para você iniciar seu projeto.