Passo a passo para a instação do Laravel 5.1 em ambiente Linux e Mac:
1 - Abra a terminal
2 - Acessando o diretório dos seus projetos:
cd /var/www/html
3 - Baixando/Instalando o Laravel:
composer create-project laravel/laravel --prefer-dist
4 - Alterando no nome da pasta do framework:
mv laravel/ projeto
5 - Acessando a pasta do framework:
cd /projeto
6 - Iniciando o framework:
php artisan serve
7 - Verificando se a instalação está correta, abra a navegador e acesse:
http://localhost:8000/
quinta-feira, 1 de outubro de 2015
terça-feira, 1 de setembro de 2015
Instalando o composer como variavel global
Para instalar o composer como váriavel global em ambiente linux/mac faremos seguiremos o passo-a-passo abaixo:
Mais informações:
https://getcomposer.org/doc/00-intro.md
1 - Baixando e instaçando o composer:curl -sS https://getcomposer.org/installer | php
2 - Movendo o composer para a pasta correta:
sudo mv composer.phar /usr/local/bin/composer
3 - Digite composer no terminal e verifique se a instalação aconteceu da forma correta.
Mais informações:
https://getcomposer.org/doc/00-intro.md
segunda-feira, 18 de maio de 2015
Codeigniter em Português
Traduzindo todas as mensagens do codeigniter para português.
01 - Baixe o pacote .zip do link abaixo.
https://github.com/CIBr/CodeIgniter-Portuguese-BR
02 - Descompacte o pacote e mova a pasta portuguese-br para diretório application/language/ do seu projeto.
03 - No arquivo application/config/config.php troque o valor do array $config['language'] para portuguese-br.
04 - Realize os testes.
Obs: No link passado também existe a forma de utilizar o pacote de tradução. Créditos para Infog.
01 - Baixe o pacote .zip do link abaixo.
https://github.com/CIBr/CodeIgniter-Portuguese-BR
02 - Descompacte o pacote e mova a pasta portuguese-br para diretório application/language/ do seu projeto.
03 - No arquivo application/config/config.php troque o valor do array $config['language'] para portuguese-br.
04 - Realize os testes.
Obs: No link passado também existe a forma de utilizar o pacote de tradução. Créditos para Infog.
terça-feira, 14 de abril de 2015
Criando uma rota Literal no Zend Framework 2
Acessando a url: http://localhost:8888/usuario
//Definindo o namespace
namespace Application;
//Registrando a rota
namespace Application;
//Registrando a rota
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'index',
),
),
),
'usuario' => array(
'type' => 'literal',
'options' => array(
'route' => '/usuario', // Não esquecer da barra "/"
'defaults' => array(
'controller' => 'Application\Controller\Usuario',
'action' => 'index',
),
),
),
//Registrando o controller
'controllers' => array(
'invokables' => array(
'Application\Controller\Index' => 'Application\Controller\IndexController',
'Application\Controller\Usuario' => 'Application\Controller\UsuarioController'
),
),
2 - Em module/Application/src/Application/Controller/ criar arquivo UsuarioController.php
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class UsuarioController extends AbstractActionController
{
public function indexAction()
{
return new ViewModel();
}
}
?>
3 - Em module/Application/view/application/ (nome do modulo Application) criar pasta usuario (nome do controller UsuarioController) e dentro o arquivo index.phtml (nome do método indexAction).
//Digite o código html para teste
<h1>Usuário</h1>
4 - No Linux/Mac
cd /var/www/html/seu_projeto/public
php -S localhost:8888
5 - No browser digite a url: http://localhost:8888/usuario
segunda-feira, 13 de abril de 2015
Flash Messages no Zend Framework 2
//No Controller
public function deleteAction() {
//pegando o parametro vindo do $_GET
$id = $this->params()->fromRoute('id', 0);
//instanciando e enviando a entidade para o serviço
$service = $this->getServiceLocator()->get('service');
$delete = $service->delete($id);
if ($delete == null) {
$this->flashMessenger()->addSuccessMessage('Registro excluído com sucesso!');
} else {
$this->flashMessenger()->addErrorMessage('Não foi possível excluir o registro!');
}
return $this->redirect()->toRoute('usuario', array('controller' => 'usuario', 'action' => 'index'));
}
//Na view
<?php
echo $this->flashMessenger()->renderCurrent('error', array('alert', 'alert-danger'));
echo $this->flashMessenger()->renderCurrent('success', array('alert', 'alert-success'));
?>
public function deleteAction() {
//pegando o parametro vindo do $_GET
$id = $this->params()->fromRoute('id', 0);
//instanciando e enviando a entidade para o serviço
$service = $this->getServiceLocator()->get('service');
$delete = $service->delete($id);
if ($delete == null) {
$this->flashMessenger()->addSuccessMessage('Registro excluído com sucesso!');
} else {
$this->flashMessenger()->addErrorMessage('Não foi possível excluir o registro!');
}
return $this->redirect()->toRoute('usuario', array('controller' => 'usuario', 'action' => 'index'));
}
//Na view
<?php
echo $this->flashMessenger()->renderCurrent('error', array('alert', 'alert-danger'));
echo $this->flashMessenger()->renderCurrent('success', array('alert', 'alert-success'));
?>
quarta-feira, 1 de abril de 2015
Mudança de Template no Zend Framework 2 (setTemplate)
//Controller
use Zend\View\Model\ViewModel;
public function indexAction(){
$view = new ViewModel(array('msg'=>'layout login'));
$view->setTemplate('layout/login');
return $view;
}
//Em view/layout
01 - Criar o arquivo login.phtml
02 - Coloque no arquivo
<?php echo $this->msg; ?>
use Zend\View\Model\ViewModel;
public function indexAction(){
$view = new ViewModel(array('msg'=>'layout login'));
$view->setTemplate('layout/login');
return $view;
}
//Em view/layout
01 - Criar o arquivo login.phtml
02 - Coloque no arquivo
<?php echo $this->msg; ?>
sexta-feira, 20 de fevereiro de 2015
Configurando DataFixture no Zend Framework2
01 - No arquivo module.config.php do módulo:
'doctrine' => array(
'fixture' => array(
__NAMESPACE__.'_fixture' => __DIR__ . '/../src/'.__NAMESPACE__.'/Fixture',
),
),
02 - No terminal (Linux/Mac) dentro da pasta do seu projeto zend framework execute:
vendor/bin/doctrine-module data-fixture:import
quinta-feira, 29 de janeiro de 2015
Gerando Getters and Setters com Doctrine2 no Zend Framework 2
No terminal (Linux/Mac), rode o seguinte comando:
vendor/bin/doctrine-module orm:generate-entities --filter="Tabela" --generate-annotations="true" --generate-methods="true" module/Tabela/src/
PS: Nome da Tabela sempre em maiúsculo.
vendor/bin/doctrine-module orm:generate-entities --filter="Tabela" --generate-annotations="true" --generate-methods="true" module/Tabela/src/
PS: Nome da Tabela sempre em maiúsculo.
Redirecionando Controller no Codeigniter
01 - Vá em /application/config/routes.php
02 - Adicione o seguinte indice ao array $route
$route['admin'] = "usuario";
Agora quando for digitado admin na url, o codeigniter irá redirecionar para o controller usuario.
02 - Adicione o seguinte indice ao array $route
$route['admin'] = "usuario";
Agora quando for digitado admin na url, o codeigniter irá redirecionar para o controller usuario.
quarta-feira, 28 de janeiro de 2015
Configuração Doctrine no module.config.php no Zend Framework 2
No arquivo module.config.php do seu Modulo, após o indice view_manager colocar a seguinte configuração:
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
)
)
)
),
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
)
)
)
),
segunda-feira, 26 de janeiro de 2015
Assets Helper
01 - /application/config/autoload.php
$autoload['helper'] = array('url', 'modulo', 'assets');
02 - Na root criar a pasta assets e criar os arquivo com o nome do controller, por exemplo:
usuario.css
usuario.js
cliente.css
cliente.js
03 - /application/helper/assets_helper.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//carregando o .css/.js referente ao modulo, caso existam
function moduleAssets(){
$CI = & get_instance();
$controller = $CI->uri->segment(1) == false ? 'usuario' : strtolower($CI->uri->segment(1));
$css = "assets/css/{$controller}.css";
$js = "assets/js/{$controller}.js";
$files = null;
if(file_exists($css)){
$files .= "<link rel='stylesheet' type='text/css' href='".base_url($css)."' />\n";
}
if(file_exists($js)){
$files .= "<script src='".base_url($js)."'></script>\n";
}
return $files;
}
?>
04 - View
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Codeigniter Assets</title>
<?php echo moduleAssets(); ?>
</head>
$autoload['helper'] = array('url', 'modulo', 'assets');
02 - Na root criar a pasta assets e criar os arquivo com o nome do controller, por exemplo:
usuario.css
usuario.js
cliente.css
cliente.js
03 - /application/helper/assets_helper.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//carregando o .css/.js referente ao modulo, caso existam
function moduleAssets(){
$CI = & get_instance();
$controller = $CI->uri->segment(1) == false ? 'usuario' : strtolower($CI->uri->segment(1));
$css = "assets/css/{$controller}.css";
$js = "assets/js/{$controller}.js";
$files = null;
if(file_exists($css)){
$files .= "<link rel='stylesheet' type='text/css' href='".base_url($css)."' />\n";
}
if(file_exists($js)){
$files .= "<script src='".base_url($js)."'></script>\n";
}
return $files;
}
?>
04 - View
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Codeigniter Assets</title>
<?php echo moduleAssets(); ?>
</head>
quarta-feira, 21 de janeiro de 2015
Integração MailChimp com Codeigniter
01 - Fazer o download da classe do MailChimp para o Codeigniter:
https://github.com/waynhall/CodeIgniter-Library-for-MailChimp-API-v1.3
02 - Coloque a classe MCAPI no diretório /application/libraries /
03 - Configuração de conexão com o MailChimp
$config = array(
'apikey' => 'db5b0123456789621651ca27f7c7657-us8', //API KEY do MailChimp
'secure' => FALSE //default
);
$this->load->library('MCAPI', $config, 'mail_chimp');
$list_id = 'b2d4012345'; //LIST ID do MailChimp
04 - Testando se a conexão com o MailChimp está correta:
$conexao = $this->mail_chimp->ping();
var_dump($conexao);
Irá retornar Everything's Chimpy! se tudo estiver correto ou FALSE caso encontre alguma falha na conexão.
05 - Exemplo simples de como cadastrar os dados no MailChimp:
$email = trim($this->input->post('email'));
$merge_vars = array(
'FNAME'=> trim($this->input->post('nome')),
'LNAME'=> trim($this->input->post('sobrenome')),
'MMERGE4' => trim($this->input->post('telefone'))
);
//todos os parametros são obrigatórios
$listSubscribe = $this->mail_chimp->listSubscribe($list_id, $email, $merge_vars);
06 - Para mais informações consultar: https://apidocs.mailchimp.com/api/1.3/
https://github.com/waynhall/CodeIgniter-Library-for-MailChimp-API-v1.3
02 - Coloque a classe MCAPI no diretório /application/libraries /
03 - Configuração de conexão com o MailChimp
$config = array(
'apikey' => 'db5b0123456789621651ca27f7c7657-us8', //API KEY do MailChimp
'secure' => FALSE //default
);
$this->load->library('MCAPI', $config, 'mail_chimp');
$list_id = 'b2d4012345'; //LIST ID do MailChimp
04 - Testando se a conexão com o MailChimp está correta:
$conexao = $this->mail_chimp->ping();
var_dump($conexao);
Irá retornar Everything's Chimpy! se tudo estiver correto ou FALSE caso encontre alguma falha na conexão.
05 - Exemplo simples de como cadastrar os dados no MailChimp:
$email = trim($this->input->post('email'));
$merge_vars = array(
'FNAME'=> trim($this->input->post('nome')),
'LNAME'=> trim($this->input->post('sobrenome')),
'MMERGE4' => trim($this->input->post('telefone'))
);
//todos os parametros são obrigatórios
$listSubscribe = $this->mail_chimp->listSubscribe($list_id, $email, $merge_vars);
06 - Para mais informações consultar: https://apidocs.mailchimp.com/api/1.3/
Assinar:
Postagens (Atom)