php - 保持我的 PHP 漂亮

我正在创建一个网站,根据某些条件(即是否登录、是否填写表格等),不同页面的外观可能会有很大差异。这使得需要在不同的时间输出不同的html block 。

但是,这样做会使我的 php 代码看起来很糟糕……它确实与代码的格式和“形状”相混淆。我应该如何解决这个问题?在我的脚本底部包含自定义“html 转储”功能?同样的事情,但包含? Heredocs(看起来不太好)?

谢谢!

最佳答案

不要 panic ,每个新的 Web 程序员都会面临这个问题。

您必须将程序逻辑与显示分开。首先,尝试为每个网页使用两个文件来制作自己的解决方案:

  • 只有 PHP 代码(无 HTML)填充变量
  • 另一个使用 HTML 和很少的 PHP:这是您的页面设计

然后包括您需要的位置/时间。例如:

myPageLogic.php

<?php

// pure PHP code, no HTML

$name = htmlspecialchars($_GET['name']);
$age = date('Y') - htmlspecialchars($_GET['age']);

?>

myPageView.php

// very few php code
// just enought to print variables
// and some if / else, or foreach to manage the data stream

<h1>Hello, <?php $name ?> !</h1>

<p>So your are <?php $age?>, hu ?</p>

(你可能想用 alternative PHP syntax 来做这个。但不要试图让它第一次就完美,真的。)

myPage.php

<?php

require('myPageLogic.php');
require('myPageView.php');
?>

暂时不要担心性能问题。这不是你作为新手的首要任务。这个解决方案并不完美,但是会帮助你解决你的编程水平的问题,并且会教你基础知识。

然后,一旦您对这个概念感到满意,就买一本关于 MVC 模式的书(或查找有关它的堆栈溢出条目)。那你想在 NEXT TIME 做些什么。然后你会尝试一些模板系统和框架,但是稍后。现在,只需编码并从头开始学习。像这样的项目,你可以完美编码,作为菜鸟,没问题。

https://stackoverflow.com/questions/113077/

相关文章:

c# - 我应该使用 ToString() 还是 GetDateTimeFormats() 来格式化

perl - 在 Perl 中处理非常大的数字时,如何禁用科学记数法?

javascript - 不允许在 textarea 中换行

html - 在 Rails 中,如何在文本区域中允许一些 html?

vim - 如何在 Vim 中插入对齐文本列所需的可变数量的空格?

formatting - 好的评论用例

netbeans - 更改netbeans中自动突出显示的变量名的突出显示颜色?

python - 在列表上迭代格式字符串

sql - 总是在 SQL 中显示小数位?

.net - 文化不可变对象(immutable对象) ToString()