### Laravel ### # Serão instalados: xampp composer laravel nodejs gulp elixir Documentação: http://laravel.com/docs/5.1 # Instalar o Xampp - Adicionar ao arquivo c:\xampp\apache\conf\httpd.conf, linha 58: (porta de escuta do http) Listen [IP]:8090 # VirtualHost Em C:\xampp\apache\conf\extra\httpd-vhosts.conf, adiciona: ServerAdmin admin@localhost DocumentRoot "C:/xampp/htdocs" ServerName localhost ErrorLog logs/localhost_error.log CustomLog logs/localhost_access.log common DocumentRoot "C:\xampp\htdocs\workspace\gc\public" ServerName gc.delfa Options All Includes Indexes Em C:\Windows\System32\drivers\etc\hosts, adiciona: 127.0.0.1 gc.delfa # Habilitar conexão do php ao firebird Descomentar no arquivo c:\xampp\php\php.ini: extension=php_interbase.dll extension=php_pdo_firebird.dll Reinicie o apache. # Composer Instalação: https://getcomposer.org/doc/00-intro.md#installation-windows # Instalar Laravel: composer global require "laravel/installer=~1.1" # Adicionar ao path do Windows: C:\Users\[USUÁRIO]\AppData\Roaming\Composer\vendor\bin # Criar projeto: Dentro de C:\xampp\htdocs, abrir o shell do composer (botão direito > 'Use Compose here') e efetuar o comando: laravel new projeto # Criar model: php artisan make:model Objeto # Criar controller: php artisan make:controller ObjetoController # Config para firebird Instalação: https://github.com/jacquestvanzuydam/laravel-firebird/tree/5.1-support Em C:\xampp\htdocs\[PROJETO]\config\database.php, substitui, na linha 29: 'default' => env('DB_CONNECTION', 'mysql'), por 'default' => env('DB_CONNECTION', 'firebird'), e adiciona na linha 50: 'firebird' => [ 'driver' => 'firebird', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'B:\GC\GC-ATUAL.FDB'), 'username' => env('DB_USERNAME', 'sysdba'), 'password' => env('DB_PASSWORD', 'masterkey'), 'charset' => env('DB_CHARSET', 'WIN1252'), ] Em C:\xampp\htdocs\[PROJETO]\config\app.php, comentar linha 125: /*Illuminate\Database\DatabaseServiceProvider::class,*/ e adiciona: Firebird\FirebirdServiceProvider::class, Em C:\xampp\htdocs\[PROJETO]\.env, configurar da maneira abaixo: DB_HOST=localhost DB_DATABASE=B:\GC\GC.FDB DB_USERNAME=sysdba DB_PASSWORD=masterkey DB_CHARSET=WIN1252 ##### ADAPTAÇÃO PARA AS CONSULTAS FUNCIONAREM COM FIREBIRD ##### Em vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php: função 'where': //CORREÇÃO PARA O FIREBIRD $column = strtoupper($column); //$operator = '\"'.$operator.'\"'; //$operator = strtoupper($operator); Isso fará com que os condicionais fiquem em maiúsculo. Se não for, o firebird não reconhece devido às aspas. função 'insertGetId': //CORREÇÃO PARA O FIREBIRD $values = array_change_key_case($values, CASE_UPPER); ################# # Bootstrap # Elixir http://laravel.com/docs/5.1/elixir # Instalar Nodejs: https://nodejs.org Com o composer aberto dentro do projeto: # Instalar Gulp: npm install --global gulp # Instalar Elixir: npm install --no-bin-links # Gerar CSS para produção: gulp --production # para gerar o CSS automaticamente: gulp watch # Criar CSS: - Descomentar resources/assets/sass/app.scss e dentro dele criar o css. - No arquivo gulpfile.js: elixir(function(mix) { var bootstrapPath = 'node_modules/bootstrap-sass/assets'; mix.sass('app.scss', 'public/assets/css') .version('public/assets/css/app.css') .copy(bootstrapPath + '/fonts', 'public/assets/fonts') .copy(bootstrapPath + '/javascripts/bootstrap.min.js', 'public/assets/js'); }); Isso fará com que as fontes sejam copiados para a pasta 'public/assets/fonts', os javascripts para 'public/assets/js' e e os arquivos css sejam gerados na pasta 'public/assets/css'. O .version gera um arquivo com um token em seu nome a cada vez que ele é modificado. Para utilizar o arquivo criado com o .version: ################# ##### Definir usuário da conexão ao banco ##### - app/Providers/RouteServiceProvider, método boot: session_start('conexao'); if( isset($_SESSION['usuario']) ) { $usuario = $_SESSION['usuario']; \Config::set('database.connections.firebird.username', $usuario); \Config::set('database.connections.firebird.password', 'Gc@180376'); //Habilitar Debugbar apenas para determinados usuários if( $usuario == 'ALEXANDREL' ) \Debugbar::enable(); else \Debugbar::disable(); } - vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers, método postLogin: $_SESSION['usuario'] = $credentials['USUARIO']; if( isset($_SESSION['usuario']) ) { $usuario = $_SESSION['usuario']; \Config::set('database.connections.firebird.username', $usuario); \Config::set('database.connections.firebird.password', 'Gc@180376'); //Habilitar Debugbar apenas para determinados usuários if( $usuario == 'ALEXANDREL' ) \Debugbar::enable(); else \Debugbar::disable(); } - vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers, método getLogout: //Eliminar sessão de conexão session_unset(); session_destroy();