`{$smarty.server.PHP_SELF}?action=bulkdomain` 在 smarty 模板中是什么意思?

What's the `{$smarty.server.PHP_SELF}?action=bulkdomain` means in smarty template?

我在看一个smarty项目代码,有一个.tpl文件,里面有一个表单,它的动作是{$smarty.server.PHP_SELF}?action=bulkdomain:

<form method="post" action="{$smarty.server.PHP_SELF}?action=bulkdomain">
...

这是什么意思?

是否表示将此请求提交到.tpl对应的.php文件? 但是 .php 文件的功能怎么样?因为 php 代码是闭源的,所以我无法获取它。


EDIT-01

我的意思是,在模板中,使用 action="{$smarty.server.PHP_SELF}?action=bulkdomain" 分配请求方法。

请求方法应该在模板对应的php文件中怎么样?

应该这样吗?

<?php

function bulkdomain($params)
{
    ...
}

EDIT-02

在当前运行php文件中:

<?php

require($_SERVER['DOCUMENT_ROOT'] . '/smartyHeader.php');
$smarty->registerPlugin('block' ,'hsp', 'test1');

$smarty->assign('foo', 'Foo');

$smarty->display('php/test.tpl');

如果有提交数据,我会不会把代码写在php文件里?

<?php

require($_SERVER['DOCUMENT_ROOT'] . '/smartyHeader.php');
$smarty->registerPlugin('block' ,'hsp', 'test1');

$smarty->assign('foo', 'Foo');

$smarty->display('php/test.tpl');

// accept the code
$action =$_GET['action']

我是否接受上写代码这样的动作?

$smarty.server.PHP_SELF$_SERVER['PHP_SELF'] 变量相同 - 表示当前 运行.

的 PHP 文件的名称

如果您想处理具有 action="{$smarty.server.PHP_SELF}?action=bulkdomain" 的表单,您只需检查是否存在具有键 "action" 和值 "bulkdomain" 的全局 $_GET 变量,例如:

if(isset($_GET['action']) && $_GET['action']=='bulkdomain') {
    // do smt
}