Back-End

21 abr, 2015

Trabalhando com Maestro Framework – Instalação

Publicidade

Após o primeiro artigo sobre o Maestro Framework, estamos novamente escrevendo sobre ele. A ideia é criar uma sequencia de artigos com o propósito de demonstrar como criar um sistema do zero, simulando diversos requisitos e funcionalidades que nós, desenvolvedores de sistemas, necessitamos enfrentar.

Esta é uma sequencia de artigos sobre o Maestro. Para ficar por dentro dos próximos artigos, acompanhe-me no Twitter – @daniel_schmitz

Essa sequência de artigos será a mais prática e detalhada possível, de forma que se você gostar do que ver poderá aprofundar-se ainda mais com as diversas funcionalidades que o framework proporciona. Lembre-se de que temos um website com informações básicas sobre o framework, cuja URL é http://maestro.org.br/

Assim como foi discutido no artigo anterior, estamos migrando para o git, e o endereço é https://github.com/frameworkmaestro.

Requisitos

  • Servidor Apache (versão 2 ou superior).
  • Linguagem PHP (versão 5.4 ou superior), com extensões PDO instaladas no banco de dados a ser usado (PostgreSql ou MySql).
  • Banco de dados SQLite3 para acesso direto à aplicação Exemplos.
  • Banco de dados PostgreSql (versão 9 ou superior) ou MySql (versão 5 ou superior).

Instalação (Windows)

Neste artigo, utilizaremos o Wamp Server para Windows. Ele é um programa capaz de instalar o Apache, o PHP e MySQL de uma vez só. Se você não tem o Wamp Server, acesse o site para download neste link e instale-o com as opções padrão. Após a instalação, uma pasta será criada na unidade c:, chamada de c:\wamp. Essa pasta possui tudo que o Wamp Server necessita para funcionar corretamente. Após a instalação, surgirá um ícone no desktop (e no menu do Windows) chamado “Start WampServer”que irá iniciar diversos serviços como o Apache e o MySQL. Se tudo correr bem, dê uma olhada na bandeja do Windows, verificando se um ícone verde com a letra W está aparecendo. Se sim, tudo está funcionando, e pode-se acessar http://localhost/ no navegador para verificar o resultado, conforme a figura a seguir.

Wamp Server

Agora vamos instalar o Maestro. Acesse o nosso repositório no GitHub e faça o download da última versão estável do projeto (clique na pasta zip).

Após realizar o download, descompacte o arquivo e copie a pasta maestro- x.x para o diretório web padrão do Wamp Server, que fica localizado em c:\wamp\www. Aproveite e renomeie a pasta para maestro, fazendo com que o framework fique em: c:\wamp\www\maestro, conforme a figura a seguir:

Estutura de diretórios Maestro

Com a pasta maestro no local correto, acesse http://localhost/maestro para obter uma tela conforme a imagem a seguir:

Maestro Framework

Se chegou até aqui sem problemas, parabéns! O maestro framework está instalado no seu diretório web. Caso tenha problemas, fale nos comentários abaixo. Aproveite para ler o guia que possui um conteúdo relevante se você desejar se aprofundar no framework.

Resumindo: Você precisa colocar o maestro no webroot do apache (PHP 5.4 ou superior). Se houver a necessidade de criar um tutorial para isso no Linux, por favor avise nos comentários. Se estiver com algum problema e não consegue acessar, tente este link: http://danielschmitz.com.br/maestro. O meu site está instalado no blueHost e eu apenas coloquei a pasta do maestro lá sem precisar alterar qualquer configuração.

Estrutura de arquivos

O Maestro tem uma estrutura bem definida de diretório e arquivos, que pode ser acessado no menu Introdução>Diretórios, ou então neste link.

Nosso foco, neste momento, é dar uma olhada no arquivo de configuração da aplicação, que fica localizado em maestro/core/conf/conf.php. Abra esse arquivo no seu editor de textos favorito:

conf.php

Perceba que existem dezenas de configurações sobre o framework. Aos poucos, vamos entendendo cada uma. Se estiver curioso, acesse este link para saber mais. Por enquanto, vamos dar atenção ao item options.startup, que inicialmente contém o valor guia. Esse item da configuração aponta para a aplicação inicial do framework, já que ele pode ter várias aplicações distintas.

Essas aplicações ficam localizadas no diretório apps, e é lá que estaremos sempre alterando para dar forma ao nosso sistema. Uma rápida olhada nesse diretório revela as seguintes aplicações:

Apps do maestro

Essas apps vieram pré-instaladas pelo framework, e você poderá criar mais aplicações em nossos próximos artigos. Por enquanto, vamos focar nas aplicações existentes.

Perceba que existe uma aplicação chamada exemplos. Vamos fazer um pequeno teste, alterando a configuração do options.startup de “guia” para “exemplos”. O novo código do arquivo maestro/conf/conf.php fica assim:

Alterando o conf

Após alterar o conf, volte no navegador e recarregue a página http://localhost/maestro, para ver algo semelhante à figura a seguir:

App Exemplos

Dessa forma, é possível alterar a aplicação padrão do framework. Isso será útil no futuro, quando criarmos a aplicação principal do framework.

Uma informação importante para a compreensão em relação à configuração é que ela pode ser sobreposta pelos módulos e submódulos da configuração padrão. Ou seja, se definimos algo na configuração do framework, podemos redefinir na configuração da aplicação, pois cada aplicação também tem o seu arquivo de configuração. O mesmo vale para um módulo em relação à aplicação, pois este também tem o seu arquivo de configuração.

Formato dos links

Como foi visto no tópico anterior, existem algumas aplicações prontas no framework que podemos acessar. Vimos que existe a aplicação guia e a aplicação exemplos. Possivelmente, você irá alternar entre essas aplicações no seu aprendizado, e não faz sentido ficar alterando a configuração do framework para acessá-las.

Existe uma forma de acessar qualquer aplicação através da URL, no seguinte formato:

http://host/index.php/applicacao/modulo/controlador/acao/id?parametros

Para acessar o guia, usamos: http://localhost/maestro/index.php/guia/main

Para acessar o exemplos, usamos: http://localhost/maestro/index.php/exemplos/main

O formato da URL obedece um fluxo determinado pelo modelo MVC, que iremos aprender na criação do nosso exemplo. Novamente, se você quiser se aprofundar nesse assunto, temos este link para estudo.

 A aplicação template

Entre as aplicações de exemplo, vamos analisar a aplicação template:

Ela tem alguns detalhes importantes e possivelmente será a aplicação que você irá copiar e colar. A estrutura básica dela é:

Template 2

O modelo MVC

Nesta estrutura, está presente o modelo MVC, ou seja, as pastas models, views e controllers. Quando acessamos o link http://localhost/maestro/index.php/template/main/main, estamos basicamente dizendo o seguinte: acesse a aplicação template, o controller main e a action main. Ao acessarmos o arquivo mainController.php, temos:

 

arquivo MainController

Ou seja, temos o método main, que chamamos de action main e temos a action main2. O método está vazio e possui apenas a chamada para o seu render, que irá carregar a view correspondente, que nesse caso é o arquivo view/main/main.xml, conforme o esquema abaixo:

MVC

A princípio, supomos que você conhece esse fluxo, pois é um fluxo natural dos frameworks existentes.

Menu da aplicação

Ao verificarmos o arquivo /maestro/apps/template/conf/actions.php, que é o arquivo que monta o menu da aplicação à esquerda da tela, temos:

Actions

Esse arquivo possui um menu de mentirinha, somente para desenhar melhor a aplicação. Se você alterar esse arquivo, adicionando mais itens, o menu irá atualizar na tela, conforme a imagem a seguir:

menu

Esse “truque” é programado, claro, e veremos detalhes em um artigo posterior. O que interessa neste momento é que você entenda os caminhos que estão configurados, como o template/clientes/main, que diz para acessar o ClientesController e a action main.

Com isso, terminamos o nosso segundo artigo sobre o Maestro. Fique à vontade em navegar pelas aplicações Guia e Exemplos e também na Template. No próximo artigo, iremos iniciar a criação de uma aplicação do zero! Que aplicação vocês gostariam de ver? Fiquem à vontade em sugerir, enviando inclusive o diagrama de tabela, caso necessário.