-
Notifications
You must be signed in to change notification settings - Fork 2
Configuração
Localize o arquivo /root/app/appsconfig.php
e realize as configurações necessárias para o banco de dados e servidor de e-mails.
Cada aplicação deve ficar em uma subpasta no diretório /root/app/
.
Localize o arquivo /root/app/appsconfig.php
e configure suas aplicações, de acordo com o exemplo:
<?php
return objectify(Array(
'contoso' => Array(
'url' => 'http://contoso.com/', // (obrigatório)
'view' => APPS . 'example' . DS . 'view' . DS, // (optional)
'database' => Array( // (optional)
'driver' => 'mysql',
'port' => 3306,
'host' => 'localhost',
'user' => 'DataBaseUser',
'pass' => 'DataBasePassword',
'schema' => 'DataBaseName'
)
),
'contoso-admin' => Array(
'url' => 'http://admin.contoso.com/',
'database' => Array(
'drive' => 'mysql',
'port' => 3306,
'host' => 'localhost',
'user' => 'databaseadmin',
'pass' => 'databaseadminpassword'
),
'authentication' => Array( // (opcional)
'class' => '\\Authentication\\Authentication',
'method' => 'validateAccess',
'notcheckon' => Array(
'auth' => ['login', 'recoverpass']
'error' => '*'
)
)
)
));
A estrutura de configuração é simples, a chave do array é o nome da aplicação, e deve ser o mesmo nome da pasta a qual ela se refere na pasta de aplicativos /root/app/<nome do aplicativo>
. As demais propriedades são auto explicativas.
A propriedade authentication
é executada todas as vezes que 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 ou defina a constant APP
o nome da aplicação que deve ser executada:
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';
// Define qual aplicação será executada pela constante APP.
define('APP', 'example');
// Ou passe como parâmetro na execução da aplicação
\Core\Application::RUN('example');