renanmpimentel / codeigniter_start
使用 Twitter Bootstrap 3.2 安装 codeigniter
v0.5
2013-09-30 11:29 UTC
Requires
- php: >=5.2.4
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'); ?>
####[链接]