thinkphp模板获取url参数.docx
《thinkphp模板获取url参数.docx》由会员分享,可在线阅读,更多相关《thinkphp模板获取url参数.docx(7页珍藏版)》请在冰豆网上搜索。
thinkphp模板获取url参数
竭诚为您提供优质文档/双击可除
thinkphp模板获取url参数
篇一:
thinkphp常量和配置参数
常量参考
预定义常量
常量说明
uRl_common=0普通模式uRluRl_pathinFo=1pathinFouRluRl_RewRite=2RewRiteuRluRl_compat=3兼容模式uRlhas_one=1has_one关联定义belongs_to=2belongs_to关联定义has_many=3has_many关联定义many_to_many=4many_to_many关联定义think_VeRsion框架版本号think_Release框架发行日期
这些预定义常量不会随着环境的变化而变化。
1
路径常量
系统和项目的路径常量用于系统默认的目录规范,可以通过重新定义改变,如果不希望定制目录,这些常量一般不需要更改。
常量名说明默认值coRe_path系统核心类库目录think_path.lib/extend_path系统扩展目录think_path.extend/mode_path模式扩展目录extend_path.mode/engine_path引擎扩展目录extend_path.engine/VendoR_path第三方类库目录extend_path.Vendor/libRaRy_path系统扩展类库目录extend_path.library/common_path项目公共目录app_mon/lib_path项目类库目录app_path.lib/Runtime_path项目运行时目录app_path.Runtime/conF_path项目配置目录app_path.conf/log_path项目日志目录Runtime_path.logs/cache_path项目模板缓存目录Runtime_path.cache/lang_path项目语言包目录app_path.lang/
temp_path项目缓存目录Runtime_path.temp/data_path项目数据目录Runtime_path.data/tmpl_path项目模板目录app_path.tpl/html_path项目静态缓存目录app_path.html/
2
系统常量
下面这些系统常量会随着开发环境的改变或者设置的改变而产生变化。
常量名说明is_cgi是否属于cgi模式is_win是否属于windows环境is_cli是否属于命令行模式__Root__网站根目录地址__app__当前项目(入口文件)地址__gRoup__当前分组的uRl地址__uRl__当前模块的uRl地址__action__当前操作的uRl地址__selF__当前uRl地址__inFo__当前的path_inFo字符串__ext__当前uRl地址的扩展名app_name当前项目名gRoup_name当前分组名module_name当前模块名action_name当前操作名app_debug是否开启调试模式mode_name当前模式名称app_path当前项目路径think_path系统框架路径
memoRy_limit_on系统内存统计支持Runtime_File项目编译缓存文件名theme_name当前主题名称theme_path当前模板主题路径app_tmpl_path当前模板uRl路径lang_set当前浏览器语言magic_quotes_gpcmagic_quotes_gpcnow_time当前请求时间(3.1新增)is_get当前是否get请求(3.1新增)is_post当前是否post请求(3.1新增)is_put当前是否put请求(3.1新增)is_delete当前是否delete请求(3.1新增)is_ajax当前是否ajax请求(3.1新增)
配置参考
这里列出了系统的惯例配置和内置系统行为的配置参数列表。
惯例配置
配置名应用设置
说明
默认值
应用调试模式状态调试模式开启后有效默认为
app_statusdebug
可扩展并自动加载对应的配置文件
是否检查文件的大小写对
app_File_case
windows平台有效
自动加载机制的自动搜索
app_autoload_path
路径,注意搜索顺序
app_tags_on系统标签扩展开关app_sub_domain_deploy是否开启子域名部署app_sub_domain_Rules子域名部署规则app_sub_domain_deny子域名禁用列表
项目分组设定,多个组之间
app_gRoup_list
用逗号分隔
action_suFFix操作方法后缀默认值设置
默认项目名称,@表示当前
deFault_app
项目
deFault_lang默认语言deFault_theme默认模板主题名称deFault_gRoup默认分组名deFault_module默认模块名deFault_action默认操作名deFault_chaRset默认输出编码deFault_timezone默认时区
默认ajax数据返回格式,
deFault_ajax_RetuRn
可选jsonxml
deFault_FilteR默认参数过滤方法cookie设置cookie_expiRecoodie有效期(秒)cookie_domaincookie有效域名cookie_pathcookie路径cookie_pReFixcookie前缀避免冲突数据库配置db_type数据库类型
debug
falsetrue
falsearray()array()@zh-cnhomeindexindexutf-8pRcjson
htmlspecialchars3600/mysql
db_dsndb_hostdb_namedb_useRdb_pwddb_poRt
db_Fields_cachedb_Fieldtype_checkdb_chaRset
db_deploy_typedb_Rw_sepaRatedb_masteR_numdb_slaVe_no
db_sql_build_cachedb_sql_build_queuedb_sql_build_lengthdb_sql_log数据缓存设置
data_cache_timedata_cache_compRessdata_cache_checkdata_cache_typedata_cache_pathdata_cache_subdiRdata_path_leVel错误设置
eRRoR_messageeRRoR_pageshow_eRRoR_msg日志设置log_RecoRdlog_type数据库连接信息dsn串数据库服务器地址localhost数据库名称数据库用户名root数据库用户密码数据库端口是否开启数据表字段缓存true是否开启字段类型检查false数据库编码utf8数据库部署方式0集中式
1分布式
数据库是否需要读写分离
分布式部署下有效
false
设置读写分离后主服务器
数量
1
设置读写分离后指定从服
务器序号(3.1新增)
数据库查询的sql创建缓存falsesql缓存队列的缓存方式filesql缓存的队列长度20
是否开启sql日志记录(3.1
新增)
false
数据缓存有效期0表示永
久缓存
数据缓存是否压缩缓存false数据缓存是否校验缓存false数据缓存类型File
缓存路径设置(仅对File
方式缓存有效)
temp_path
使用子目录缓存(仅对File
方式缓存有效)
false
子目录缓存级别(仅对File
方式缓存有效)
1
错误显示信息,部署模式有
效
错误定向页面,部署模式有
效
是否显示错误信息False是否记录日志信息false默认日志记录类型0系统3
1邮件3文件4sapi
log_dest日志记录目标log_extRa日志记录额外信息log_leVel允许记录的日志级别
日志文件大小限制(字节
log_File_size
文件方式有效)
log_exception_RecoRd是否记录异常信息日志session设置
session_auto_staRt是否自动开启sessionsession_optionssession配置数组session_typesessionhander类型session_pReFixsession前缀VaR_session_idsessionid的提交变量模板引擎设置
tmpl_content_type默认模板输出类型
默认错误跳转对应的模板
tmpl_action_eRRoR
文件
默认成功跳转对应的模板
tmpl_action_success
文件tmpl_exception_File异常页面的模板文件
emeRg,aleRt,cRit,eRR2097152falsetruearray()
session_idtext/html
系统模板目录下的dispatch_jump.tpl同上
系统模板目录下的
think_exception.tplfalse.html
tmpl_detect_theme自动侦测模板主题tmpl_template_suFFix默认模板文件后缀
模板文件模块与操作之间
tmpl_File_depR的分割符,只对项目分组部/
署有效
uRl设置
uRl_case_insensitiVeuRl是否不区分大小写false
uRl访问模式支持0(普通模式);
uRl_model1(pathinFo模式);1
2(RewRite模式);3(兼容模式)
pathinFo模式下的参数分
uRl_pathinFo_depR/
割符
用于兼容判断path_inFooRig_path_inFo
uRl_pathinFo_Fetch参数的seRVeR替代变量列RediRect_path_inFo
表RediRect_uRl
uRl_html_suFFixuRl伪静态后缀设置
uRl变量绑定到action方
uRl_paRams_bindtrue
法参数(3.1新增)
系统变量名称设置VaR_gRoup默认分组获取变量g
篇二:
thinkphp的模块化操作uRl重写模式
配置路径是在common-conf-config.php
修改默认的访问uRl路径
这个文件的配置是admin.php进行配置的
$_get[“c”]=”admin”//默认价值的控制器设置
设置风格分是common-conf-config.php设置
除掉index.php的方式:
篇三:
thinkphp开发手册(完整版)
tp开发手册完整版:
系统特性
thinkphp是一个性能卓越并且功能丰富的轻量级php开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让web应用开发更简单、更快速。
从1.*版本开始就放弃了对php4的兼容,因此整个框架的架构和实现能够得以更加灵活和简单。
2.0版本更是在之前的基础上,经过全新的重构和无数次的完善以及改进,达到了一个新的阶段,足以达到企业级和门户级的开发标准。
thinkphp值得推荐的特性包括:
类库导入:
thinkphp是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。
为了方便项目的跨平台移植,系统还可以严格检查加载文件的大小写。
uRl模式:
系统支持普通模式、pathinFo模式、RewRite模式和兼容模式的uRl方式,支持不同的服务器和运行模式的部署,配合uRl路由功能,让你随心所欲的构建需要的uRl地址和进行seo优化工作。
编译机制:
独创的核心编译和项目的动态编译机制,有效减少oop开发中文件加载的性能开销。
allinone模式更是让你体验飞一般的感觉。
oRm:
简洁轻巧的oRm实现,配合简单的cuRd以及aR模式,让开发效率无处不在。
查询语言:
内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效。
的动态切换,让你领略数据操作的无比畅快和最佳体验。
高级模型:
可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、
数据分表等高级特性。
视图模型:
轻松动态地创建数据库视图,多表查询不再烦恼。
关联模型:
让你以出乎意料的简单、灵活的方式完成多表的关联操作。
分组模块:
不用担心大项目的分工协调和部署问题,分组模块帮你解决跨项目的难
题。
模板引擎:
系统内建了一款卓越的基于xml的编译型模板引擎,支持两种类型的模
板标签,融合了smarty和jsp标签库的思想,支持标签库扩展。
通过驱动还可以支持smarty、easetemplate、templatelite、smart等第三方模板引擎。
ajax支持:
内置ajax数据返回方法,支持json、xml和eVal格式返回客户端,
并且系统不绑定任何ajax类库,可随意使用自己熟悉的ajax类库进行操作。
多语言支持:
系统支持语言包功能,项目和模块都可以有单独的语言包,并且可以
自动检测浏览器语言自动载入对应的语言包。
模式扩展:
除了标准模式外,系统内置了lite、thin和cli模式,针对不同级别的
应用开发提供最佳核心框架,还可以自定义模式扩展。
自动验证和完成:
自动完成表单数据的验证和过滤,生成安全的数据对象。
字段类型检测:
字段类型强制转换,确保数据写入和查询更安全。
数据库特性:
系统支持多数据库连接和动态切换机制,支持分布式数据库。
犹如企
业开发的一把利刃,跨数据库应用和分布式支持从此无忧。
和xcache在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。
扩展机制:
系统支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心diy自己的框架和扩展应用。
目录结构
新版的目录结构在原来的基础上进行了调整,更加清晰。
一、系统目录(thinkphp框架目录)
thinkphp.php框架的公共入口文件
common包含框架的一些公共文件、系统定义、系统函数和惯例配置等
lang系统语言文件
lib系统基类库目录
tpl系统模板目录
mode框架模式扩展目录
Vendor第三方类库目录
二、应用目录(项目目录)
index.php项目入口文件(可以使用其他名称或者放置于其他位置)
common项目公共文件目录,一般放置项目的公共函数
conf项目配置目录,所有的配置文件都放在这里。
lang项目语言包目录(可选)
lib项目类库目录,通常包括action和model子目录
tpl项目模板目录,支持模板主题
Runtime项目运行时目录,包括cache(模板缓存)、temp(数据缓存)、data(数据目录)和logs(日志文件)子目录
上面的只是默认方式,项目下面的目录名称和结构是可以重新定义的。
其实项目目录并不需要开发人员手动创建,只需要定义好项目的入口文件之后,系统会在第一次执行的时候自动生成项目必须的所有目录结构(前提是项目目录具有可写权限,这点在linux环境下面需要注意)。
可以看出新版的目录结构更加便于部署和配置,因为只有Runtime目录才是需要具备可写权限的,在linux环境下面可以更加快速的部署和配置目录权限。
三、部署目录
当我们实际部署网站的时候,目录结构往往由于项目的复杂而变得复杂。
我们推荐的部署目录结构如下:
thinkphp系统目录(下面的目录结构同上面的系统目录)
home项目目录(下面的目录结构同上面的应用目录)
admin后台管理项目目录
……更多的项目目录
index.php网站的入口文件
admin.php网站的后台入口文件
如果采用分组模块的话可以简化为一个项目目录
thinkphp系统目录(下面的目录结构同上面的系统目录)
app项目目录
public网站公共目录
index.php网站的入口文件
项目的模板文件还是放到项目的tpl目录下面,只是将外部调用的资源文件,包括图片js和css统一放到网站的公共目录public下面,分images、js和css子目录存放,如果有可能的话,甚至也可以把这些资源文件单独放一个外部的服务器远程调用,并进行优化。
这样部署的好处是系统目录和项目目录可以放到非web访问目录下面,网站目录下面可以只需要放置public公共目录和index.php入口文件(如果是多个项目的话,每个项目的入(thinkphp模板获取url参数)口文件都需要放到web目录下面),从而提高网站的安全性。
mVc分层
mVc是一种将应用程序的逻辑层和表现层进行分离的方法。
thinkphp也是基于mVc设计模式的。
mVc只是一个抽象的概念,并没有特别明确的规定,thinkphp中的mVc分层大致体现在:
模型(m):
模型的定义由model类来完成。
控制器(c):
应用控制器(核心控制器app类)和action控制器都承担了控制器的角色,action控制器完成业务过程控制,而应用控制器负责调度控制。
视图(V):
由View类和模板文件组成,模板做到了100%分离,可以独立预览和制作。
有些时候,thinkphp并不依赖m或者V,也就是说没有模型或者视图也一样可以工作。
甚至也不依赖c,这是因为thinkphp在action之上还有一个总控制器,即app控制器,负责应用的总调度。
在没有c的情况下,必然存在视图V,否则就不再是一个完整的应用。