PHP实战——科研立项(ThinkPHP)

1. 在配置文件Application\Common\Conf\config.php中,进行数据库配置,模块,布局,其他配置

其中,其他配置中有

'URL_MODEL' => 2,                    //URL模式:Rewrite
'TOKEN_ON' => true,                  //开启表单令牌
第一行是将ThinkPHP的URL模式配置为Rewrite模式,Rewrite是一种URL重写模式,通常用于将网站伪静态化以提高SEO效果,还可以使URL变得简洁。需要注意的是,该模式需要Apache开启rewrite模块。编辑httpd.conf,取消如下配置的注释即可:

LoadModule rewrite_module modules/mod_rewrite.so

表单令牌是ThinkPHP中的表单安全防护机制,它可以防止表单被恶意提交,增强网站的安全性。在开启表单令牌后,还需要行为绑定。创建文件Application\Common\Conf\tags.php,具体代码如下:
<?php
return array(
	//表单令牌行为绑定
	'view_filter' => array('Behavior\TokenBuildBehavior'),
);
?>
当表单令牌开启时,ThinkPHP会自动为项目中的表单添加一个name为“_hash_”的隐藏域保存令牌,当调用模型的create()方法时会自动验证令牌是否正确。

2.谈MVC框架

(1)C——控制器

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型去处理请求,然后再确定用哪个视图来显示返回的数据。

(2)M——模型

模型表示数据和业务规则。在MVC的3个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

(3)V——视图

视图是用户看到并与之交互的界面,模型获取的数据最终通过视图展现给用户。

3.ThinkPHP基本使用

(1)assign()

ThinkPHP框架默认开启了模板引擎,在开启模板引擎的情况下,变量都需要使用assign()方法将变量分配给视图文件。示例代码如下:

$this->assign('name',$name);
从上述代码可知,assign()方法的第1个参数表示数据在视图中的名称,第2个参数表示要传递的数据。由于ThinkPHP框架采用面向对象编程,因此还可以使用为对象属性赋值的方式,示例代码如下:
$this->name=$name;
需要注意的是,assign()方法必须在display()方法前调用,分配的变量数据才能显示到视图中。

(2)display()

ThinkPHP使用display()方法来显示视图,display()方法有3种形式,如下表:

用法示例描述
不带任何参数$this->display()系统会自动定位当前操作的模板文件
[模块@][控制器:][操作]$this->display("Admin@Index:index")表示会输出Admin模块下的View目录下的Index目录下的index.html文件
完整的模板文件名$this->display("./Temp/Public/index.html")表示输出项目根目录下的Temp目录下的Public目录下的index.html文件,注意使用这种方式一定要加上视图文件后缀
(3)显示变量

在使用assign()方法为视图变量赋值后,就可以在视图文件中输出变量了。输出变量可以使用PHP原生语法,例如:

<?php
echo $name;
?>
也可以使用标签语法输出变量,因为ThinkPHP默认情况下提供了类似Smarty的模板引擎技术ThinkTemplate,该模板引擎输出变量的语法如下:

{$name}
ThinkTemplate模板标签默认的开始标记是"{",结束标记是"}"。当然也可以通过配置文件对其进行修改,例如:

'TMPL_L_DELIM'=>'<{',
'TMPL_R_DELIM'=>'}>',
此时变量输出标签就变成了:

<{$name}>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值