찾다
백엔드 개발PHP 튜토리얼ThinkPHP惯例配置文件详解_PHP

ThinkPHP

ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置。本文对惯例配置文件作出注释详解如下,供大家参考:

<&#63;php
/**
+------------------------------------------------------------------------------
* ThinkPHP惯例配置文件
* 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项
* 配置名称大小写任意,系统会统一转换成小写
* 所有配置参数都可以在生效前动态改变
+------------------------------------------------------------------------------
* @category Think
* @package Common
* @version $Id$
+------------------------------------------------------------------------------
*/
if (!defined('THINK_PATH')) exit();
return array(

/* 项目设定 */
'APP_DEBUG'   => false, // 是否开启调试模式
'APP_DOMAIN_DEPLOY'   => false,  // 是否使用独立域名部署项目
'APP_PLUGIN_ON'     => false,  // 是否开启插件机制
'APP_FILE_CASE'     => false,  // 是否检查文件的大小写 对Windows平台有效
'APP_GROUP_DEPR'    => '.',   // 模块分组之间的分割符
'APP_GROUP_LIST'    => '',   // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin'
'APP_AUTOLOAD_REG'   => false,  // 是否开启SPL_AUTOLOAD_REGISTER
'APP_AUTOLOAD_PATH'   => 'Think.Util.',// __autoLoad 机制额外检测路径设置,注意搜索顺序
'APP_CONFIG_LIST'    => array('taglibs','routes','tags','htmls','modules','actions'),// 项目额外需要加载的配置列表,默认包括:taglibs(标签库定义),routes(路由定义),tags(标签定义),(htmls)静态缓存定义, modules(扩展模块),actions(扩展操作)

/* Cookie设置 */
'COOKIE_EXPIRE'     => 3600,  // Coodie有效期
'COOKIE_DOMAIN'     => '',   // Cookie有效域名
'COOKIE_PATH'      => '/',   // Cookie路径
'COOKIE_PREFIX'     => '',   // Cookie前缀 避免冲突

/* 默认设定 */
'DEFAULT_APP'      => '@',   // 默认项目名称,@表示当前项目
'DEFAULT_GROUP'     => 'Home', // 默认分组
'DEFAULT_MODULE'    => 'Index', // 默认模块名称
'DEFAULT_ACTION'    => 'index', // 默认操作名称
'DEFAULT_CHARSET'    => 'utf-8', // 默认输出编码
'DEFAULT_TIMEZONE'   => 'PRC', // 默认时区
'DEFAULT_AJAX_RETURN'  => 'JSON', // 默认AJAX 数据返回格式,可选JSON XML ...
'DEFAULT_THEME'  => 'default', // 默认模板主题名称
'DEFAULT_LANG'     => 'zh-cn', // 默认语言

/* 数据库设置 */
'DB_TYPE'        => 'mysql',   // 数据库类型
'DB_HOST'        => 'localhost', // 服务器地址
'DB_NAME'        => '',     // 数据库名
'DB_USER'        => 'root',   // 用户名
'DB_PWD'        => '',     // 密码
'DB_PORT'        => 3306,    // 端口
'DB_PREFIX'       => 'think_',  // 数据库表前缀
'DB_SUFFIX'       => '',     // 数据库表后缀
'DB_FIELDTYPE_CHECK'  => false,    // 是否进行字段类型检查
'DB_FIELDS_CACHE'    => true,    // 启用字段缓存
'DB_CHARSET'      => 'utf8',   // 数据库编码默认采用utf8
'DB_DEPLOY_TYPE'    => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'DB_RW_SEPARATE'    => false,    // 数据库读写是否分离 主从式有效

/* 数据缓存设置 */
'DATA_CACHE_TIME'  => -1,   // 数据缓存有效期
'DATA_CACHE_COMPRESS'  => false,  // 数据缓存是否压缩缓存
'DATA_CACHE_CHECK'  => false,  // 数据缓存是否校验缓存
'DATA_CACHE_TYPE'  => 'File', // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator
'DATA_CACHE_PATH'    => TEMP_PATH,// 缓存路径设置 (仅对File方式缓存有效)
'DATA_CACHE_SUBDIR'  => false,  // 使用子目录缓存 (自动根据缓存标识的哈希创建子目录)
'DATA_PATH_LEVEL'    => 1,    // 子目录缓存级别

/* 错误设置 */
'ERROR_MESSAGE' => '您浏览的页面暂时发生了错误!请稍后再试~',//错误显示信息,非调试模式有效
'ERROR_PAGE'  => '', // 错误定向页面

/* 静态缓存设置 */
'HTML_CACHE_ON'  => false,  // 默认关闭静态缓存
'HTML_CACHE_TIME'  => 60,   // 静态缓存有效期
'HTML_READ_TYPE'    => 0,    // 静态缓存读取方式 0 readfile 1 redirect
'HTML_FILE_SUFFIX'   => '.shtml',// 默认静态文件后缀

/* 语言设置 */
'LANG_SWITCH_ON'    => false,  // 默认关闭多语言包功能
'LANG_AUTO_DETECT'   => true,  // 自动侦测语言 开启多语言功能后有效

/* 日志设置 */
'LOG_RECORD'      => false,  // 默认不记录日志
'LOG_FILE_SIZE'     => 2097152, // 日志文件大小限制
'LOG_RECORD_LEVEL'   => array('EMERG','ALERT','CRIT','ERR'),// 允许记录的日志级别

/* 分页设置 */
'PAGE_ROLLPAGE'     => 5,   // 分页显示页数
'PAGE_LISTROWS'     => 20,   // 分页每页显示记录数

/* SESSION设置 */
'SESSION_AUTO_START'  => true,  // 是否自动开启Session
// 内置SESSION类可用参数
//'SESSION_NAME'     => '',   // Session名称
//'SESSION_PATH'     => '',   // Session保存路径
//'SESSION_CALLBACK'   => '',   // Session 对象反序列化时候的回调函数

/* 运行时间设置 */
'SHOW_RUN_TIME'  => false,  // 运行时间显示
'SHOW_ADV_TIME'  => false,  // 显示详细的运行时间
'SHOW_DB_TIMES'  => false,  // 显示数据库查询和写入次数
'SHOW_CACHE_TIMES'  => false,  // 显示缓存操作次数
'SHOW_USE_MEM'  => false,  // 显示内存开销
'SHOW_PAGE_TRACE'  => false,  // 显示页面Trace信息 由Trace文件定义和Action操作赋值
'SHOW_ERROR_MSG'    => true,  // 显示错误信息

/* 模板引擎设置 */
'TMPL_ENGINE_TYPE'  => 'Think',   // 默认模板引擎 以下设置仅对使用Think模板引擎有效
'TMPL_DETECT_THEME'   => false,    // 自动侦测模板主题
'TMPL_TEMPLATE_SUFFIX' => '.html',   // 默认模板文件后缀
'TMPL_CACHFILE_SUFFIX' => '.php',   // 默认模板缓存后缀
'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函数
'TMPL_PARSE_STRING'   => '',     // 模板引擎要自动替换的字符串,必须是数组形式。
'TMPL_L_DELIM'     => '{',  // 模板引擎普通标签开始标记
'TMPL_R_DELIM'     => '}',  // 模板引擎普通标签结束标记
'TMPL_VAR_IDENTIFY'   => 'array',   // 模板变量识别。留空自动判断,参数为'obj'则表示对象
'TMPL_STRIP_SPACE'   => false,    // 是否去除模板文件里面的html空格与换行
'TMPL_CACHE_ON'  => true,    // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_CACHE_TIME'  => -1,     // 模板缓存有效期 -1 为永久,(以数字为值,单位:秒)
'TMPL_ACTION_ERROR'   => 'Public:success', // 默认错误跳转对应的模板文件
'TMPL_ACTION_SUCCESS'  => 'Public:success', // 默认成功跳转对应的模板文件
'TMPL_TRACE_FILE'    => THINK_PATH.'/Tpl/PageTrace.tpl.php',   // 页面Trace的模板文件
'TMPL_EXCEPTION_FILE'  => THINK_PATH.'/Tpl/ThinkException.tpl.php',// 异常页面的模板文件
'TMPL_FILE_DEPR'=>'/', //模板文件MODULE_NAME与ACTION_NAME之间的分割符,只对项目分组部署有效
// Think模板引擎标签库相关设定
'TAGLIB_BEGIN'     => '<', // 标签库标签开始标记
'TAGLIB_END'      => '>', // 标签库标签结束标记
'TAGLIB_LOAD'      => true, // 是否使用内置标签库之外的其它标签库,默认自动检测
'TAGLIB_BUILD_IN'    => 'cx', // 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔
'TAGLIB_PRE_LOAD'    => '',  // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔
'TAG_NESTED_LEVEL'  => 3,  // 标签嵌套级别
'TAG_EXTEND_PARSE'   => '',  // 指定对普通标签进行扩展定义和解析的函数名称。

/* 表单令牌验证 */
'TOKEN_ON'          =>  true,   // 开启令牌验证
'TOKEN_NAME'        =>  '__hash__',  // 令牌验证的表单隐藏字段名称
'TOKEN_TYPE'         =>  'md5',  // 令牌验证哈希规则

/* URL设置 */
'URL_CASE_INSENSITIVE' => false,  // URL地址是否不区分大小写
'URL_ROUTER_ON'     => false,  // 是否开启URL路由
'URL_DISPATCH_ON'    => true, // 是否启用Dispatcher
'URL_MODEL'   => 1,    // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 当URL_DISPATCH_ON开启后有效; 默认为PATHINFO 模式,提供最好的用户体验和SEO支持
'URL_PATHINFO_MODEL'  => 2,    // PATHINFO 模式,使用数字1、2、3代表以下三种模式:
// 1 普通模式(参数没有顺序,例如/m/module/a/action/id/1);
// 2 智能模式(系统默认使用的模式,可自动识别模块和操作/module/action/id/1/ 或者 /module,action,id,1/...);
// 3 兼容模式(通过一个GET变量将PATHINFO传递给dispather,默认为s index.php&#63;s=/module/action/id/1)
'URL_PATHINFO_DEPR'   => '/', // PATHINFO模式下,各参数之间的分割符号
'URL_HTML_SUFFIX'    => '', // URL伪静态后缀设置

/* 系统变量名称设置 */
'VAR_GROUP'       => 'g',   // 默认分组获取变量
'VAR_MODULE'      => 'm',  // 默认模块获取变量
'VAR_ACTION'      => 'a',  // 默认操作获取变量
'VAR_ROUTER'      => 'r',   // 默认路由获取变量
'VAR_PAGE'       => 'p',  // 默认分页跳转变量
'VAR_TEMPLATE'     => 't',  // 默认模板切换变量
'VAR_LANGUAGE'     => 'l',  // 默认语言切换变量
'VAR_AJAX_SUBMIT'    => 'ajax', // 默认的AJAX提交变量
'VAR_PATHINFO'     => 's', // PATHINFO 兼容模式获取变量例如 &#63;s=/module/action/id/1 后面的参数取决于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR

);

此外,还需注意,由于新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数,读者可查阅手册进一步了解。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
과대 광고 : 오늘 PHP의 역할을 평가합니다과대 광고 : 오늘 PHP의 역할을 평가합니다Apr 12, 2025 am 12:17 AM

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP의 약한 참고 자료는 무엇이며 언제 유용합니까?PHP의 약한 참고 자료는 무엇이며 언제 유용합니까?Apr 12, 2025 am 12:13 AM

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

PHP의 __invoke 마법 방법을 설명하십시오.PHP의 __invoke 마법 방법을 설명하십시오.Apr 12, 2025 am 12:07 AM

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.

동시성에 대해 PHP 8.1의 섬유를 설명하십시오.동시성에 대해 PHP 8.1의 섬유를 설명하십시오.Apr 12, 2025 am 12:05 AM

섬유는 PHP8.1에 도입되어 동시 처리 기능을 향상시켰다. 1) 섬유는 코 루틴과 유사한 가벼운 동시성 모델입니다. 2) 개발자는 작업의 실행 흐름을 수동으로 제어 할 수 있으며 I/O 집약적 작업을 처리하는 데 적합합니다. 3) 섬유를 사용하면보다 효율적이고 반응이 좋은 코드를 작성할 수 있습니다.

PHP 커뮤니티 : 자원, 지원 및 개발PHP 커뮤니티 : 자원, 지원 및 개발Apr 12, 2025 am 12:04 AM

PHP 커뮤니티는 개발자 성장을 돕기 위해 풍부한 자원과 지원을 제공합니다. 1) 자료에는 공식 문서, 튜토리얼, 블로그 및 Laravel 및 Symfony와 같은 오픈 소스 프로젝트가 포함됩니다. 2) 지원은 StackoverFlow, Reddit 및 Slack 채널을 통해 얻을 수 있습니다. 3) RFC에 따라 개발 동향을 배울 수 있습니다. 4) 적극적인 참여, 코드에 대한 기여 및 학습 공유를 통해 커뮤니티에 통합 될 수 있습니다.

PHP vs. Python : 차이점 이해PHP vs. Python : 차이점 이해Apr 11, 2025 am 12:15 AM

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP : 죽어 가거나 단순히 적응하고 있습니까?PHP : 죽어 가거나 단순히 적응하고 있습니까?Apr 11, 2025 am 12:13 AM

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래 : 적응 및 혁신PHP의 미래 : 적응 및 혁신Apr 11, 2025 am 12:01 AM

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전