-
Notifications
You must be signed in to change notification settings - Fork 2
Configuração
Cada aplicação deve ficar em uma subpasta no diretório /root/app/
.
Dentro da pasta da sua aplicação, crie o arquivo config.php
e realize as configurações necessárias para o banco de dados e servidor de e-mails, rotas e etc.
<?php
use \Core\Config;
Config::Set([
'url' => 'http://admin.contoso.com/', // URL da Aplicação
'database' => [ // Configurações do Banco de Dados
'driver' => 'mysql', // - Driver (apenas mysql disponível)
'port' => 3306, // - Porta de Conexão (3306) é padrão do MySQL
'host' => 'localhost', // - Endereço do Banco (DNS ou IP)
'schema' => 'test' // - Nome do Banco de Dados
'user' => 'root', // - Usuário
'pass' => '', // - Senha
'charset' => 'utf8' // - Codificação de Caracteres (opcional, utf8 padrão)
],
'email' => [ // Configurações de E-mail para uso da classe: SendMail extends PHPMailer()
'debug' => FALSE, // - Modo Debug
'smtp' => TRUE, // - Tipo SMTP? (TRUE|FALSE)
'auth' => TRUE, // - Autenticar SMTP? (TRUE|FALSE)
'secure' => 'ssl', // - Criptografia (SSL|TLS)
'host' => 'smtp.contoso.com', // - Endereço do SMTP
'port' => 465, // - Porta de Conexão
'user' => '[email protected]', // - Usuário de autenticação
'pass' => 'drowssap', // - Senha de autenticação
'from' => [ // - From padrão (opcional)
'email'=>'[email protected]', // > E-mail
'name'=>'Contoso :: No Reply' // > Nome (opcional)
]
],
'authentication' => [ // Configuração de Autenticação
'class' => '\\Authentication\\Authentication', // - Classe de Autenticação
'method' => 'validateAccess', // - Método estático de chamada
'notcheckon' => [ // - Não validar autenticação nas situações
'auth' => [ // > Controller: Auth
'login', // - Action login
'register' // - Action register
'recoverpass' // - Action recoverpass
],
'error' => '*' // > Controller: Error | Action: Qualquer Action
]
]
]);
Se setada a propriedade authentication
, ela será executada todas as vezes antes de executar a Action, no __construct
do Controller. O método method
deve ser estático. Pois será executado da seguinte forma:
$app->authentication->class::{$app->authentication->method}()
Caso a classe informada possua um método estático chamado setController
, a instância do Controller atual será passada para ele antes de executar o método de validação.
if (method_exists($auth, 'setController')) {
$app->authentication->class::setController($this);
}
A propriedade notcheckon
é um array com todos os Controllers o qual devem ser ignorados a execução do authentication
, ele pode receber um array com todos os métodos a serem ignorados, ou o coringa *
, para que qualquer método desse Controller seja ignorado a verificação.
Ao rodar a aplicação, passe como parâmetro o nome da pasta que está a aplicação a ser executada. Caso a aplicação não esteja na pasta padrão /root/app/
, também pode ser passado o caminho;
E no arquivo /root/public_html/index.php
defina nas primeiras linhas do arquivo a constante do aplicativo que será executado:
<?php
// Exemplo do arquivo /root/public_html/index.php
// Carrega o loader
require_once __DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'base'.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'loader.php';
// Passe como parâmetro o nome da pasta da aplicação
\Core\Application::RUN('example');
// Ou se ela não estiver na pasta padrão /root/app/, passe o caminho
\Core\Application::RUN(dirname(__DIR__).'/meuapp');