2017-06-22 81 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