#Codeigniter com Twitter Bootstrap 3
git clone https://github.com/renanmpimentel/ci_start.git
php composer.phar install
application/config/database.php
(...)
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'your_user';
$db['default']['password'] = 'your_password';
$db['default']['database'] = 'your_database';
$db['default']['dbdriver'] = 'mysql';
(...)
As configurações aqui colocadas são apenas para estudos, recomendo a consulta na documentação oficial do Codeigniter.
No arquivo application/config/autoload.php
, temos:
(...)
//Carrega as bibliotecas do Banco de Dados, de Sessão do Codeigniter e validação de formulários
$autoload['libraries'] = array('database', 'session', 'form_validation');
//Carrega os helpers de URL e para gerar formulários
$autoload['helper'] = array('url', 'form');
//Carrega a configuração de form_validation no autoload
$autoload['config'] = array('form_validation');
(...)
Apenas coloque database no autoload, se o banco de dados estiver configurado
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
USE YOUR_DATABASE
GO
CREATE TABLE CI_Sessions (
session_id NVARCHAR(40) DEFAULT '0' NOT NULL,
ip_address NVARCHAR(16) DEFAULT '0' NOT NULL,
user_agent NVARCHAR(120) NOT NULL,
last_activity INT DEFAULT 0 NOT NULL,
user_data NTEXT NOT NULL,
CONSTRAINT PK_CI_Session PRIMARY KEY (session_id ASC)
)
GO
CREATE NONCLUSTERED INDEX NCI_Session_Activity
ON CI_Sessions(last_activity DESC)
GO
application/config/config.php
(...)
//Carrega a tradução das mensagens
$config['language'] = 'portuguese-br';
//Criar um chave para criptografar sessões e etc
$config['encryption_key'] = '[ENCRYPTION_KEY]';
//Para trabalhar com a sessão junto ao banco de dados
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
(...)
<?php
echo "<div class='form-group'>";
echo form_label('Texto', 'nome');
echo form_input(array(
'name'=>'nome',
'class'=>'form-control',
'placeholder'=>'Label'
)
);
echo form_error('nome');
echo "</div>";
?>
<?php
echo "<div class='form-group'>";
echo form_label('Senha', 'senha');
echo form_password(array(
'name'=>'senha',
'class'=>'form-control',
'placeholder'=>'senha'
)
);
echo form_error('senha');
echo "</div>";
?>
<?php
echo "<div class='form-group'>";
echo form_label('Textarea', 'textarea');
echo form_textarea(array(
'name'=>'textarea',
'class'=>'form-control',
'rows' => 5,
'placeholder'=>'Texto'));
echo form_error('textarea');
echo "</div>";
?>
<?php
echo "<div class='form-group'>";
echo form_label('Upload', 'upload');
echo form_upload(array(
'name'=>'upload',
'class'=>'span12'
)
);
echo "<p class='help-block'>Texto de exemplo para download. (jpg, gif, png)</p>";
echo form_error('upload');
echo "</div>";
?>
<?php
echo "<div class='checkbox'>";
echo form_label('Checkbox', 'checkbox');
echo form_checkbox(array(
'name'=>'checkbox',
'checked' => TRUE
)
);
echo form_error('checkbox');
echo "</div>";
?>
<?php
echo "<div class='radio'>";
echo form_label('Radio', 'radio');
echo form_radio(array(
'name'=>'radio',
'checked' => TRUE
)
);
echo form_error('radio');
echo "</div>";
?>
<?php
$select = array(
'1' => 'Primeiro',
'2' => 'Segundo',
'3' => 'Terceiro',
'4' => 'Quarto'
);
echo form_label('Select', 'select');
echo form_dropdown('shirts', $select, '', 'class="form-control"');
echo form_error('select');
?>
<?php
echo form_label('Botões', 'botoes');
echo form_button(array(
'name'=>'botao',
'class'=>'btn btn-default',
'content'=>'Botao'
)
);
?>
'form' => nome da regra de validação
'field' => nome do campo
'label' => nome do campo no output ( Ex.: O campo %s é obrigatório - %s é o "label")
'rules' => ver todas regras no link abaixo
$config = array(
'form' =>
array(
array(
'field' => 'field_01',
'label' => 'label_01',
'rules' => 'required'
),
array(
'field' => 'field_02',
'label' => 'label_02',
'rules' => 'required'
)
)
);
(...)
Exemplo básico:
<?php
(...)
/**
* [validarFormulario description]
* @return [type] [description]
*/
public function validarFormulario()
{
$this->form_validation->config_rules = array();
$this->form_validation->error_array = array();
//Carrega regra de negocio criado no form_validation.php
$this->form_validation->set_rules( $this->config->item('form') );
if ($this->form_validation->run() == FALSE) {
// NÃO PASSOU NA VALIDAÇÃO
} else {
// PASSOU NA VALIDAÇÃO
}
}
?>
<?php
class Boletos extends CI_Controller {
public function __construct()
{
parent::__construct();
}
/**
* [boleto_bancoob description]
* @return [type] [description]
*/
public function boleto_bancoob()
{
$data = array(
'dados_cliente' => '',
'dados_empresa' => '',
'dados_boleto' => '',
'valores_boleto' => ''
);
$this->load->helper('My_boleto_bancoob');
boleto_bancoob(
$data['dados_cliente'],
$data['dados_empresa'],
$data['dados_boleto'],
$data['valores_boleto']
);
}
?>
<?php
$config['protocol'] ='smtp';
$config['smtp_host'] ='ssl://smtp.googlemail.com';
$config['smtp_port'] ='465';
$config['smtp_timeout'] ='60';
$config['smtp_user'] ='your_email@gmail.com';
$config['smtp_pass'] ='your_password';
$config['charset'] ='utf-8';
$config['mailtype'] ='html';
$config['newline'] ="\r\n";
?>
<?php
(...)
/**
* [enviarEmail description]
* @return [type] [description]
*/
public function enviarEmail()
{
$this->load->library('email');
$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');
$this->email->cc('another@another-example.com');
$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$this->email->send();
}
?>
<?php
$this->load->helper('My_Pdf');
create_pdf('Hello Word');
?>
####[Links]