ThinkPHp中前台如何获取后台代码中定义的变量

ThinkPHp中前台如何获取后台代码中定义的变量,第1张

{$username} //普通变量

{$userinfo["email"]} //数组方式

{$userinfo["sub"]["name"]} //三维数组方式

{$userinfo:email} //对象方式

{$userinfoemail} //自动判断数组或对象方式

{$变量|default="默认值"}

例子:

{$username|default="匿名"}

使用函数

{$webTitle|md5|strtoupper|substr=0,3}

实际执行结果等效为:

<php

echo substr(strtoupper(md5($webTitle)),0,3);

>

如果变量或上函数执行的结果不是函数或下一个函数的第一个参数,那么需要使用定位符“###”:

{$userinfo["regdate"]|date="Y-m-d H:i",###}

实际执行结果等效为:

<php

echo date("y-m-d H:i",$userinfo["regdate"]|);

>

模板直接使用函数

格式:

{:函数}

例子:

{:say_hello('ThinkPHP')} //say_hello()为用户自定义函数

实际执行结果等效为:

<php

echo say_hello('ThinkPHP');

>

2、执行函数但不输出

格式:

{~函数}

例子:

{~say_hello('ThinkPHP')} //say_hello()为用户自定义函数

实际执行结果等效为:

<php

say_hello('ThinkPHP');

>

系统变量输出

系统变量包括:server、session、post、get、request、cookie、env。系统变量的输出不需要事先赋值给某个模板变量。系统变量的输出以 $Think 开头,并且仍然支持使用函数。

例子:

{$Thinksessionsession_id|md5} //输出 $_SESSION 变量并使用 md5 加密

//或简写为

{$_SESSION session_id|md5}

//输出$_GET变量

{$_GETpageNumber}

系统常量输出

使用$Thinkconst输出系统常量。

例子:

{$ThinkconstACTION_NAME} //输出 ThinkPHP 系统定义的常量 ACTION_NAME(当前 *** 作名称)

//或简写为

{$ThinkACTION_NAME}

配置参数输出

使用 $Thinkconfig 输出项目的配置参数值。

例子:

{$ThinkconfigDB_PREFIX}

输出的值和 C('DB_PREFIX') 的返回结果是一样的。

快捷输出

为了使得模板定义更加简洁,系统还支持一些常用的变量输出快捷标签,包括:

• {@var} 与 {$Thinksessionvar} 等效,输出 Session 变量

• {#var} 与 {$Thinkcookievar} 等效,输出 Cookie 变量

• {&var} 与 {$Thinkconfigvar} 等效,输出配置参数

• {%var} 与 {$Thinklangvar} 等效,输出语言变量

• {var} 与 {$Thinkgetvar} 等效,输出 GET 变量

• {^var} 与 {$Thinkpostvar} 等效,输出 POST 变量

• {var} 与 {$Thinkconstvar} 等效,输出常量

ThinkPHP的函数有三类,一类是系统函数,在ThinkPHP目录下的Common下;一类是项目函数,在项目目录下的Common目录中;最后一类是扩展函数。

  1、系统函数:包含functionphp、commonphp和runtimephp三个文件,程序运行时无需手动加载,在编译过程中自动加载;

  2、项目函数:是项目中的Common文件中的Commonphp 文件(一般不存在,需自己创建),分组部署时,需要使用  (分组名)/functionphp命名。此类函数也是可以直接加载的;

  3、扩展函数是指用户自定义的函数,可以提供给开发者更多的DIY内容,函数名自定义,但是不是在设置了自动加载的情况下是不能自动加载的。

  函数的加载:

  系统函数和项目函数是不需要加载就能直接使用的,但是扩展函数还是需要加载才能使用的,这里可以有动态和静态两种方式加载扩展函数:

  1、动态加载:(可以实时生效)

'LOAD_EXT_FILE'=>'USER'  //项目中的confphp

 

  2、手动加载:(个别模板使用)

load(@user)  //加载的就是Common目录下的userphp,@只本目录下的

在项目文件夹内创建入口文件indexphp

<php

define('THINK_PATH', '/ThinkPHP');

define('APP_PATH', '');

require(THINK_PATH"/ThinkPHPphp");

App::run();

>

在浏览器中访问入口地址http://yourdomain/项目文件夹/indexphp,之后ThinkPHP会自动生成项目文件

在项目文件夹下Lib/Action目录中,会生成默认的控制器文件IndexActionphp,你可以直接修改使用它

<php

/ IndexAction /

class IndexAction extends Action{

public function yourfunctionname(){

echo '默认 *** 作<br />';

}

public function yourfunctionname(){

$this -> redirect('target',array('参数名1'=>参数值1,'参数名2'=>参数值2,),跳转前停滞时间n秒,'跳转前的提示:n秒后跳转到target'); //重定向,即ThinkPHP自带的跳转函数

}

public tunction target(){

echo '跳转成功,这里就是target<br />';

echo '参数名1:'$_GET['参数名1']'<br />';

echo '参数名2:'$_GET['参数名2']'<br />';

}

}

>

然后在浏览器中访问你yourfunctionname的地址:

http://yourdomain/项目文件夹/indexphpIndex/yourfunctionname,

就可以调用你自定义的函数了,系统会在n秒后跳转到target,并显示输出

extendphp是一个扩展函数库,可以拷贝到控制器文件(如IndexAction)中使用

功能包括

楼主还有什么不懂的就去后盾人那里多学习学习

ThinkPHP的函数有三类,一类是系统函数,在ThinkPHP目录下的Common下;一类是项目函数,在项目目录下的Common目录中;最后一类是扩展函数。

  1、系统函数:包含functionphp、commonphp和runtimephp三个文件,程序运行时无需手动加载,在编译过程中自动加载;

  2、项目函数:是项目中的Common文件中的Commonphp 文件(一般不存在,需自己创建),分组部署时,需要使用 (分组名)/functionphp命名。此类函数也是可以直接加载的;

  3、扩展函数是指用户自定义的函数,可以提供给开发者更多的DIY内容,函数名自定义,但是不是在设置了自动加载的情况下是不能自动加载的。

  函数的加载:

  系统函数和项目函数是不需要加载就能直接使用的,但是扩展函数还是需要加载才能使用的,这里可以有动态和静态两种方式加载扩展函数:

  1、动态加载:(可以实时生效)

'LOAD_EXT_FILE'=>'USER'  //项目中的confphp

  2、手动加载:(个别模板使用)

load(@user)  //加载的就是Common目录下的userphp,@只本目录下的

分类: PHP开发, ThinkPHP

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12459300.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存