codeigniter3项目实践,项目目录和公共配置文件
来源:互联网 发布:铁路抢票软件 编辑:程序博客网 时间:2024/06/06 19:23
近来做过一些中小型项目,用的轻量级codeigniter3,逐渐总结出一些经验,分享出来,希望对大家有所帮助。
一、 项目目录
之前我也百度+雅虎了一大堆国内国外的资料,最终结合了laravel的一些目录思路。整理出如下的项目结构。比如我项目名、域名是abc
config (公共配置目录)
shell (shell脚本目录,存放一些项目的定时脚本,可无)
storage (文件缓存目录)
system (ci系统目录,这个不需要多介绍了)
upload (文件上传目录) upload.abc.com
web_admin (系统后台) admin.abc.com
web_www (www前台) www.abc.com
web_wechat (微信端) wx.abc.com
……
总之web_开头的是一个子项目对应一个目录。其实也建议和二级域名相对应。
每个子项目下都新建一个public目录,里面放index.php和.htaccess(apapche才有)
每个子项目的二级域名,都配置对应的public目录(这是学习的laravel),如admin.ab.com配置网站根目录是web_admin/public/
优点是:1、整个public的目录,相当于只有index.php暴露出去,很安全。
2、如果是系统后台,不需要前端工程师参与的,public可以新建任意的css、image、js等目录,很方便访问。
3、如果是前后端分离的开发方式,也让前端工程师很方便整合,这个public目录除了一个index.php文件,其他都是给前端用,很简洁。
继续细化每个子目录:
config目录
1、config/config.php 公共的域名配置文件
比如我通常用
$config['site_name'] = 'XXX管理系统';$config['author'] = '周润发';$config['version'] = 'V1.1';$config['url_admin'] = 'http://admin.abc.com/';$config['url_www'] = 'http://www.abc.com/';$config['url_wechat'] = 'http://wx.abc.com/';$config['url_upload'] = 'http://upload.ai.com/';$config['dir_base'] = 'D:\\web\\abc\\'; //正式服务器用服务器上的目录$config['dir_upload'] = $config['dir_base'] . 'upload\\';可以根据喜好自己配置
2、config/databases.php 数据配置文件
$db['default'] = array( 'dsn'=> '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => '123456', 'database' => 'abc', 'dbdriver' => 'mysqli', 'dbprefix' => 'ai_', '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);不用多说了,总之就是把数据配置文件独立出来,成为公共的,方便统一管理,而不用每个子项目去分别配置自己的database.php
3、其他公共配置,如config/wechat.php
$config['appid'] = 'wxXXXXX'; // 必填$config['appsecret'] = 'XXXXXXXXXXXXXX'; // 必填$config['token'] = 'XXXXX';$config['url'] = 'http://wx.abc.com/wechat/callback';//微信的回调,根据自己的项目对应写$config['encodingaeskey'] = 'XXXXXXX';$config['WECHAT_TPL_MESSAGE'] = array( 'welcome' => 'XXXXXX',//一些模版消息,这里不详细举例了,自己根据项目情况添加
各个子项目的config/config.php改动
比如web_admin/config/config.php
<?php//引入公共的站点配置文件require '../../config/config.php';$config['site_name'] = 'XXX后台管理系统';//……?>
使用
require '../../config/database.php';
优点是1、公共的配置文件独立管理
2、 .gitignore直接排除整个config目录
storage目录
storage/cache 缓存
storage/logs 自己记录的一些日志
storage/sessions 如果是文件session的存储方式
累了,打盘LOL,就休息了,下一篇接着介绍。
- codeigniter3项目实践,项目目录和公共配置文件
- web项目目录结构和一些配置文件
- 项目配置文件目录问题
- 项目管理实践教程 目录
- python开源项目目录结构参考和django最佳实践:项目布局
- codeIgniter3.*的controller带上目录
- web项目读取classpath目录下配置文件
- Tomcat配置文件,如何配置默认项目目录
- django项目目录结构最佳实践
- java web项目获取src和WebContent目录下的配置文件
- Android项目创建和项目目录图解
- 软件项目管理工具和实践
- 项目配置文件
- Django 1.6 最佳实践: Django项目的布局结构和目录结构
- 项目配置文件项目搭架子
- 项目实践
- jsp项目读取src目录下的配置文件
- 项目公共方法
- 算法训练 红与黑
- 下拉框默认选中当前年、月、日的实现!
- [LeetCode]583. Delete Operation for Two Strings
- 复习
- HTML的基本结构语法
- codeigniter3项目实践,项目目录和公共配置文件
- java并发编程(一)-并发编程需要注意问题
- vs 2012 使用IIS Express 64位调试
- MSP430 BootLoader移植
- Android开发中,让你事半功倍的整理归档(二)
- DNS服务器的配置与管理
- websocket例子都不写web.xml的配置
- 剑指offer-2
- Ubuntu16.04中文字符乱码问题的解决方法