我正在使用Phalcon框架为PHP编写应用程序,我必须实现该功能,以允许用户在每个其他墙上写消息。所以使用JQuery我会写:
function postMessage() {
var message = $("#messageBox").val().trim().replace(/\n/g, '<br/>');
if(message) {
$.post("// request handler", {msg: message, wall: {{ user.id }},
writer: {{ session.get('user')['id'] }})
.done(function() {
$("#messageBox").val('');
alert( "Message posted" );
})
.fail(function() {
alert( "Error posting message, please try again" );
});
}
}
此脚本位于domain.com/user/foobar
页面我的问题是我的请求处理程序应该是什么(或者更确切地说)。我已经考虑了一下,并问了我的朋友并提出了三个选择:
我想到的一些专业人士是:
我想到的一些缺点是:
(例如
// Option 1
$router->add('/user/{id}',
array(
'controller' => 'user',
'action' => 'show'
)
);
// Option 2
$router->add('/user/post/{id}',
array(
'controller' => 'user',
'action' => 'writeMessage'
)
);
)
推荐和使用哪种方式?
答案 0 :(得分:2)
永远不要假设所有用户都善良,聪明,这是人们破坏系统的方式。测试一切。
通常:1路= 1动作 如果您没有任何发布消息的路线,那么添加一个路径即可。 路线就像一个简单的&#34; if&#34;测试,它将在几纳秒内完成。
答案 1 :(得分:2)
我会继续根据需要定义路线。或者定义单个路由并在挂钩到远程过程的post请求中传递一个额外的参数。
在用户关注的地方保持谨慎并消除任何漏洞。考虑添加一个随机数。
谢谢,
C