当我点击“注册表”时,如何在我的班级中调用名为Controller.php的函数注册表。按钮?`
这是我的Index.php文件中的部分。它还有一个'require_once(' Controller.php');'
<form method="POST" action="<?php echo Controller::registreer()?>">
<button type="submit" class="btn btn-primary">Registreer je</button>
</form>`
和我在Controller.php中的函数:
public static function registreer(){
header("Location:registreer.php");
exit();
}
答案 0 :(得分:1)
我会说“只是打电话给你的路线”,但似乎你的设计实际上没有任何路线......但我后来才知道。
所以现在你必须
registreer.php
,在提交表单时调用,您可以在其中调用Controller方法上面的例子不起作用,因为你基本上是调用你的方法Controller::registreer()
并将它返回的结果(如果有的话,在这种情况下没有)插入{{1}来自action
标记的属性。
如果您想要在表单提交时实际调用文件<form>
,请将其写入registreer.php
属性。
无论如何,这不是一个相当不错的设计 - 由于你的代码中会有某种 Controller ,这是实际创建路由的最佳实践调用你定义的方法。
查看this tutorial以了解MVC实际上是什么。
之后,我建议您使用其中许多MVC框架中的一个。
我最喜欢的两个是
如果您认为自己有这个想法并希望深入了解,请查看“更大”的框架,例如
这些只是许多框架的五个例子。去抓一个。
答案 1 :(得分:0)
你最好只是从控制器获取路径,因为除了发送重定向标头之外你没有真正执行任何操作,这是默认情况下在给出路径时的操作。
此外,您不能echo
重定向,这会因为没有字符串回显而导致错误。
如果您知道路径,请手动设置(或通过变量动态设置)如果路径是动态的,请通过对象本身的getter和setter检索它。