项目参照开发文档
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/