Skip to content

vernonlacerda/MelyssaFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MelyssaFramework

Framework para aplicações web PHP 5.4+

##Instalação:

Para instalar o Melyssa Framework, você pode clonar este repositório ou baixar o arquivo compactado, para demonstração vamos presumir que você baixou o arquivo compactado. Após realizar o download do framework, descompacte-o em uma pasta no seu servidor, existem algumas configurações a serem realizadas antes de começar a usar o sistema.

##Configuração do framework:

###Arquivo Constants.php:

A primeira coisa que devemos fazer é definir algumas constantes para o funcionamento do sistema, dentro do arquivo Core/Configs/Constants.php, são elas:

  • CONTROLLERS: Caminho para a pasta onde se encontram os controllers da aplicação.
  • MODELS: Caminho para a pasta onde se encontram os models da aplicação.
  • VIEWS: Caminho para a pasta onde se encontram as views da aplicação.
  • CONFIGS: Caminho para a pasta onde se encontram as configurações da aplicação.
  • LANGUAGE: Caminho para a pasta onde se encontram os arquivos de tradução da aplicação.
  • DEFAULT_LANG: Linguagem padrão a ser utilizada pelo sistema.
  • BASE_URL: Url base da aplicação E.g: http://example.com
  • LOG_PATH: Caminho para a pasta de logs do sistema.
  • SESSION_HASH: Hash único para segurança de sessões (sha1, md5...), utilizado para proteção contra session-hijacking.
  • URI_IDENTIFIER: Identificador de url, utilizado pelo framework para resgatar os dados enviados na url, não há necessidade de alterar este valor.

###Arquivo index.php:

O arquivo index.php atua como front controller do Melyssa Framework, é este arquivo o responsável por tratar as requisições e enviar para os controllers e actions corretos. Para isso precisamos definir algumas configurações, são elas:

  • VENDOR_PATH: Caminho da pasta onde se encontra o núcleo do Framework, esta pasta também pode conter arquivos de bibliotecas de terceiros.
  • APP_PATH: Caminho da pasta onde se encontram os arquivos da aplicação, controllers, views, formulários, etc.
  • ENVIRONMENT: Ambiente da aplicação, utilizado para definir a exibição de erros e de código php, valores possíveis: Development, Testing e Production

##Ambientes:

É possível utilizar configurações com base no ambiente da aplicação, para isso, após definir o ambiente na configuração do sistema, crie uma pasta dentro da pasta de configurações com o nome do ambiente e.g Development e salve as configurações dentro desta pasta.

##Configuração de rotas:

A configuração de rotas é feita dentro do arquivo Routes.php, que deve ser armazenado na pasta de configurações da aplicação.

O arquivo Routes.php deve retornar um array contendo as rotas no formato mostrado abaixo:

<?php
    return array(
        'default-controller' => 'Welcome',
        'default-action' => 'index',
        
        'Welcome' => array(
            'callables' => array(
                'index' => array(
                    'methods' => array('GET'),
                ),
            ),
        ),
    );

Como visto, podemos definir um controller padrão a ser carregado quando não houver nada na url, para isso, basta incluir uma chave default-controller com o valor sendo o controller correto, também é possível definir uma action padrão, incluindo a chave default-action.

Para cada controller precisamos informar os métodos acessíveis via url (callables), se um método não estiver dentro desse array não será possível acessá-lo pela url.

Para cada action (callable), precisamos definir os métodos de acesso aceitos (methods), e também podemos informar parâmetros, passando o nome do parâmetro e uma expressão regular indicando o formato e o tipo de caracteres aceitos. Os parâmetros são filtrados antes de serem enviados à aplicação, parâmetros não informados nas configurações ou que não estejam dentro do padrão solicitado serão ignorados e não estarão disponíveis.

Veremos mais configurações adiante.

##Criando controllers:

Com nossas rotas configuradas, o próximo passo é criar nosso primeiro controller, o Melyssa Framework utiliza namespaces para carregar as classes de forma automática, todos os controllers devem estar dentro do namespace Controllers. É necessário também estender (extends) o controller base do framework: Melyssa\Mvc\Controller como é mostrado abaixo:

<?php
    namespace Controllers;
    
    use Melyssa\Mvc\Controller;
    
    class Welcome extends Controller
    {
        public function indexAction()
        {
            echo "Hello World !";
        }
    }

Nesse exemplo podemos ver que já definimos uma action index, o Melyssa segue os padrões definidos pelas PSR´s, sendo assim, nomes de métodos e variáveis devem estar em LowerCamelCase e nomes de classes devem estar em StudlyCaps. Veja mais informações sobre as PSR´s em http://www.php-fig.org/psr/psr-1/

Neste exemplo estamos somente echoando uma mensagem na tela, podemos carregar uma view, um arquivo html para visualização no navegador, como demonstrado abaixo:

    public function indexAction()
    {
        $this->view("Index");
    }

O Melyssa Framework utiliza convenções para carregar as views, neste caso, a view chamada (Index) será procurada dentro da pasta de views, dentro de uma pasta com o nome do controller (Welcome). Se o arquivo solicitado não for encontrado, será disparada uma exceção.

Vamos criar nossa primeira view. Crie o arquivo Index.php dentro da pasta Application/Views/Welcome. Para exemplo vamos inserir apenas uma saudação utilizando tags html:

<h4>Hello World !</h4>

Neste momento, se acessarmos a url da nossa aplicação poderemos ver a mensagem exibida na tela.

About

Framework para aplicações web PHP 5.4+

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published