项目参照开发文档

CI CI框架用户指南

H-ui H-ui前端框架

Layer JS Layer 弹窗js库

Validaform JS 表单验证 js库

DataTables for jQuery DataTable - Ajax方式列表翻页插件

七牛图片 七牛图片调用接口

PSR PHP 标准规范


CI基本目录结构

|- system                         框架程序目录  
    |- core                       框架的核心程序  
        |- CodeIgniter.php        引导性文件  
        |- Common.php             加载基类库的公共函数  
        |- Controller.php         基控制器类文件:CI_Controller  
        |- Model.php              基模型类文件:CI_Model  
        |- Config.php             配置类文件:CI_Config  
        |- Input.php              输入类文件:CI_Input  
        |- Output.php             输出类文件:CI_Output  
        |- URL.php                URL类文件:CI_URl  
        |- Router.php             路由类文件:CI_Router  
        |- Loader.php             加载类文件:CI_Loader  
    |- helpers                    辅助函数  
        |- url_helper.php         url相关的辅助函数,如:创建url的辅助函数  
        |- captcha_helper.php     创建图形验证码的辅助函数  
    |- libraries                  通用类库  
        |- Pagination.php         通用分页类库  
        |- Upload.php             通用文件上传类库  
        |- Image_lib.php          通用图像处理类库  
        |- Session.php            通用session类库  
    |- language                   语言包  
    |- database                   数据库操作相关的程序  
        |- DB_active_rec.php      快捷操作类文件(ActiveRecord)  
    |- fonts                      字库  
|- application                    项目目录  
    |- core                       项目的核心程序  
    |- helpers                    项目的辅助函数  
    |- libraries                  通用类库  
    |- language                   语言包  
    |- config                     项目相关的配置  
        |- config.php             项目相关的配置文件     
        |- database.php           数据库相关的配置文件  
        |- autoload.php           设置自动加载类库的配置文件  
        |- constants.php          常量配置文件  
        |- routes.php             路由配置文件  
    |- controllers                控制器目录  
        |- welcome.php            控制器文件,继承CI_Controller  
    |- models                     模型目录  
        |- welcome_model.php      模型文件,继承CI_Model  
    |- views                      视图目录  
        |- welcome.php            视图模板文件,默认后缀名为.php  
    |- cache                      存放数据或模板的缓存文件  
    |- errors                     错误提示模板  
    |- hooks                      钩子,在不修改系统核心文件的基础上扩展系统功能  
    |- third_party                第三方库  
    |- logs                       日志  
|- index.php                      入口文件

CI自定义目录结构

|- system                         框架程序目录  
|- application                    项目目录  
    |- core                       项目的核心程序  
        |- MY_Controller.php      *自定义控制器  
        |- MY_Model.php           *自定义模型 
    |- helpers                    项目的辅助函数  
        |- common_helper.php      *共用函数 
    |- libraries                  通用类库  
        |- AdminCrud.php          *后台增删改架构类 
        |- Widget.php             *挂件类 (自动加载) 
    |- widget                     *挂件控制器目录
    |- views                      视图目录    
        |- widget                 *挂件视图目录
|- resource                       *静态资源目录
    |- lib                        *第三方js库目录  
    |- static                     *项目css,js,image或主题目录  
|- index.php                      入口文件

配置环境

index.php

    define('PRODUCTION_DOMAIN', 'zradmin.com');
    define('DEV_DOMAIN', '127.0.0.4');

    switch ($_SERVER['HTTP_HOST']) {
    case PRODUCTION_DOMAIN:
    $development_ips = array(   //测试IP列表
        '127.0.0.4' 
        , '122.245.210.67'
        , '115.215.42.87'
        , '122.245.121.129',
    );
    if (in_array($_SERVER['REMOTE_ADDR'], $development_ips)) {
        //程序员IP地址例外
        define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
        define('HOME_URL', 'http://'.PRODUCTION_DOMAIN);

    } else {
        define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'production');
        define('HOME_URL', 'http://'.PRODUCTION_DOMAIN);
    }
    break;
default:
    define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
    define('HOME_URL', 'http://'.DEV_DOMAIN);
}

development: 测试环境报错,使用dump(),dump_query()等调试函数

production : 在线服务器环境,不受到调试函数影响


autoload.php

$autoload['libraries'] = array('database','session','widget');

$autoload['helper'] = array('url','common');

设置自动加载类,辅助器


config.php

$config['base_url'] = '/zhegeshihoutaidizhia/v2/';

$config['index_page'] = 'index.php';

$config['charset'] = 'UTF-8';

$config['subclass_prefix'] = 'MY_';

$config['language'] = 'simplified-chinese';

$config['encryption_key'] = 'vtui!1';


$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;


$config['sess_save_path'] = 'ci_sessions';

$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

按实际情况配置参数


database.php


$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    // 'hostname' => '183.2.244.119',
    'username' => 'root',
    'password' => 'passwd',
    // 'password' => 'passwd',
    'database' => 'BaiduDatabase',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

配置数据库连接

创建ci_session数据表

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    `id` varchar(128) NOT NULL,
    `ip_address` varchar(45) NOT NULL,
    `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
    `data` blob NOT NULL,
    KEY `ci_sessions_timestamp` (`timestamp`)
);

注意事项

1.提交多条数据要使用事务

如果提交多个数据表数据请使用事务

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->trans_complete();

if ($this->db->trans_status() === FALSE)
{
    // generate an error... or use the log_message() function to log your error
}

PHP 标准规范

https://psr.phphub.org/

1 基础编码规范
2 编码风格规范
3 日志接口规范
4 自动加载规范

主要是准守这四项,其他规范自有余力使用即可。

使用Sublime Text3时可用 phpcs插件来自动检测 http://www.uedbox.com/macos-install-sublime-phpcs/