php审计需要学mvc,今天还是打算放弃PHPMVC了

静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

今天还是打算放弃PHPMVC了

作者:大鹏 发布于:2007-6-14 23:54 Thursday

分类:PHP&MySql

由于对java的Struts比较熟悉,所以前段时间突然对PHPMVC产生了兴趣。从官方网站上下载了框架之后,测试了一下,觉得和Java的Struts非常相似,所以很容易上手。

做了几个简单的例子之后,使用了它自带的Adodb的库,感觉和adodb结合得还算可以,特别是数据库的配制简直就是和Struts中的数据库连接池一模一样。

[codes=xml]

key  = "ADODB_MYSQL_DATA_SOURCE"

type = "AdodbDataSource">

>

[/codes]

Action类中对数据库操作

[codes=php]

function validate($mapping, $request) {

// Select our datasource, as per the phpmvc-config.xml

//

$dsKey = 'ADODB_MYSQL_DATA_SOURCE';

// Open a connection to the requested datasource on the first call.

$db =& $this->actionServer->getDataSource($dsKey);

// Use Read-Only database access here.

$sql = "Select * From test_customer";

$recordSet = $db->Execute($sql);

if (!$recordSet) {

exit($db->ErrorMsg());

}

$rowArray = $recordSet->FetchRow();

if (!$rowArray) {

exit($db->ErrorMsg());

}

// We could check the users credentials against the database ...

$row = $result->fetchRow();

if($row['code'] != '') {

$this->setCustomerData('AUTHENTICATE', True);

} else {

$this->setCustomerData('AUTHENTICATE', False);

}

// We can disconnect here if we access $db as a reference ($db =& ...)

$recordSet->Close()

$db->Close();

}[/codes]

用过Struts的朋友一定不会感到陌生,同很相似的。尽管如此,PHPMVC还是有很多地方比Struts要差多了,首先view部分的标签就没有Struts的丰富,这个是一件非常痛苦的事。正当我要放弃的时候,我突然发现它还支持Smarty插件,这使我又开始对这个PHPMVC产生了很多的兴趣。因为之前也做过Smarty的项目,我想应该是比较容易上手的了。于是配制了一下。

[codes=xml]

className="SmartyPlugInDriver"

key="SMARTY_PLUGIN">

[/codes]

按照官方网站上的例子在Form里加入了:

[code]

function validate(&$mapping, &$request) {

// Access the Smarty PlugIn instance

// Note the reference "=&"

$plugInKey = 'SMARTY_PLUGIN';

$smarty =& $this->actionServer->getPlugIn($plugInKey);

if($smarty == NULL) {

echo 'No PlugIn found matching key: '.$plugInKey."
\n;

}

// Set some Smarty template variables

$smarty->assign("FirstName",array("John","Mary","James","Henry"));

$smarty->assign("LastName",array("Doe","Smith","Johnson","Case"));

return;

}

[/code]

可是不管怎么测试,Smarty都不工作,除非在后面加上:$smarty->display("test.tpl");

这时smarty模版才被解析了,可是新的问题又来了,这时出来了两个一模一样的内容,就是说test.tpl被smarty解析了一次显示出来了,同时又被PHPMVC又重复解析了一次,而且会出现模版解析的错误提示。

不知道是我自己没有配制好还是PHPMVC本身就存在问题,花了两天的时间也没能参透其中的奥秘。网上关于PHPMVC的资料也的确是太少了点,特别是PHPMVC的Smarty插件更是没有。我也只是在官方网站上看到过一个配制PlugIn的例子是关于Smarty的,其次再也没有找到了。看到用这个框架的人的确不多,因此还是决定暂时先放弃PHPMVC了,看以后会不会有更新的版本和更全的资料出来了。

刚好其次就是对Smarty插件的支持经过几天对PHPMVC的研究

et_highlighter

发表评论

昵称

邮箱

网址

干净网络从你做起,切勿黏贴小广告

d5ab31d1e4534f94abf3d1cff3767a21.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值