2017-06-22 82 views
0

我是Php mvc设计的新手,我一直在阅读教程,Simple MVC for beginners。在本教程中,作者将根据某个链接路由来自index.php文件的所有调用。我有一个用html编写的着陆页,想知道如何路由我的,让我们说当一个用户点击注册按钮,注册基于一个按钮,而不是链接的视图?PHP MVC:我将如何通过按钮路由控制器?

这给我带来了另一个问题。控制器甚至有必要从着陆页视图转到注册视图?

的意见/布局页:

<DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
    <header> 
     <a href='/php_mvc_blog'>Home</a> 
    </header> 

    <?php require_once('routes.php'); ?> 

    <footer> 
     Copyright 
    </footer> 
    <body> 
<html> 

的index.php:

<?php 


require_once('connection.php'); 

    if (isset($_GET['controller']) && isset($_GET['action'])) { 
    $controller = $_GET['controller']; 
    $action  = $_GET['action']; 
    } else { 
    $controller = 'pages'; 
    $action  = 'home'; 
    } 

    require_once('views/layout.php'); 
?> 

回答

1

这是一种很难回答,因为它不是真正涉及到MVC。希望我能给你一些见解,让你指出正确的方向。

MVC只是一个关于如何组织代码的概念。有很多不同的方法来设置一个仍然可以被视为MVC的网站。
简单地说:

  • 型号:特卖与数据库逻辑,一个模型可以由许多控制器共享。
  • 查看:你的html在哪里(如果你的 没有使用js,可能包含php变量)。
  • 控制器:你的php的逻辑是在哪里。例如映射数组 对你的看法,去到不同的网页等

问题1:你的问题是不完全对付MCV概念本身,更是多么的HTML用PHP交互。

  1. 您有一个链接或一个带有链接的按钮。
  2. 此链接指向您的路线,然后调用您的控制器。
  3. 您的控制器运行您需要的php逻辑,然后将html提供给用户。

问题2:如果您的html视图中没有任何php(如不需要逻辑的常见问题页面),则可以直接链接到页面。然而,最好通过一个控制器来呈现页面以保持一致。

+1

你做了很多感谢谢谢 – Kevlwig