这是在PHP应用程序中包含HTML的好方法吗?

时间:2016-06-05 16:21:45

标签: php html web

我正在学习PHP几个月。我可以写一个小博客或一个简单的cms。有经验的人可以告诉我,我是否以正确的方式做事?

我以这种方式制作视图页面:

<?php 

$postFound = isset($onePost);
if ($postFound === false) {
    $onePost = new StdClass();
    $onePost->post_id = 0;
    $onePost->title = "";
    $onePost->post_text = "";
}

return
"<form method='post' action='admin.php?page=form' id='editor'>
    <fieldset id='text-area'>
        <legend>Create new post</legend>
        <input type='hidden' name='id' value=$onePost->post_id>
        <label>Title</label>
        <input type='text' name='title' value=$onePost->title>
        <label>Write post</label>
        <textarea type='text' name='post-text'>$onePost->post_text</textarea>     
        <fieldset id='submit-area'>
            <input type='submit' name='action' value='save'>
            <input type='submit' name='action' value='delete'>
        </fieldset>
    </fieldset>
</form>";

这是我的前端控制器:

<?php

error_reporting(E_ALL);
ini_set("display_errors", true);

include_once "model/Layout.class.php";

$pageData = new Layout ();
$pageData->title = "Admin";
$pageData->addCss("assets/css/style.css");
$pageData->content = include_once 'view/admin/admin_navigation.html.php';

//navigation controll
$navClicked = isset($_GET['page']); 
if ($navClicked) {
    $link = $_GET['page'];

}else {
    $link = 'posts';
}
$pageData->content .= include_once "controller/admin/$link.ctrl.php";


$layout = include_once "view/template/layout.html.php";
echo $layout;

我通过Front-Controller中的对象属性回显视图。是不是很好的做法,像在视图文件中一样返回html代码块然后回显它?或者幕后发生了一些不好的事情,我不是很好吗?还有更好的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

没有理由在PHP标记中使用

  

回波

。您可以包含它,即使它只是原始HTML。