renanmpimentel/codeigniter_start

使用 Twitter Bootstrap 3.2 安装 codeigniter

v0.5 2013-09-30 11:29 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:38:31 UTC


README

#使用 Twitter Bootstrap 3 的 Codeigniter

如何使用?

在您的机器上创建一个克隆

git clone https://github.com/renanmpimentel/ci_start.git

或者在这里下载

下载

安装 Composer 依赖

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';

(...)

预配置

这里放置的配置仅用于学习,建议查阅 Codeigniter 官方文档。

在文件 application/config/autoload.php 中,我们有

(...)

//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');

(...)

如果数据库已配置,只需在 autoload 中放置 database

用于 Codeigniter Session 的表格
MySQL 的 SQL ci_sessions
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`)
);
SQL SERVER 的 SQL ci_sessions
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;

(...)

使用 helper form 创建表单

文本输入
<?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_validation

编辑负责业务规则的文件: application/config/form_validation.php
'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'
						        )
			   			)      
				);

(...)
实际操作

基本示例

<?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
    }
}

?>
使用助手 My_boleto_* 创建票据
<?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']
				);
}
?>
application/config/ 中创建 email.php 文件
<?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();
}

?>
使用助手 my_pdf_helper 创建 PDF
<?php
	$this->load->helper('My_Pdf');  
			 
	create_pdf('Hello Word');
?>

####[链接]

Twitter Bootstrap

Codeigniter

PHP

@renanmpimentel