2

我今天与我的经理进行了一次“讨论”,讨论了使用 PHP 包含和函数作为模板来更快、更有效地构建网站的优点。他多年来一直在使用 Dreamweaver 模板,并认为它确实是最好的方法。我想开始使用一些不同且更有效的方法来创建 Web,因为我们需要更快地完成我们的项目。我想详细了解什么会使 Dreamweaver dwts 比使用代码完成相同的任务更好,反之亦然。

他的理由是:

  1. 当您更改 dwt 文件上的链接时,它会更改由该 dwt 创建的每个页面的链接。
  2. 即使您在目录中移动页面,它也会保留指向图像的链接
  3. 公司里的每个人都应该做一种方式,这就是他选择的方式(我们两个人,一个刚入门的人需要从头学习网页设计,他打算教她dwt方法)
  4. 如果您编辑使用 dwt 制作的站点,则无法更改模板中的任何内容(显示为灰色),使其更安全
  5. 如果他正在使用 dwt 构建站点,而我正在使用 PHP 包含来构建站点,那么我们无法编辑彼此的站点。它到处都是。当我们将来有新员工时,它会变得非常疯狂,如果他们不在办公室,人们将无法更改其他人的网站。

这些天我一直在研究 PHP,并且对它在创建动态页面方面的强大功能感到兴奋。引发此“讨论”的相关站点或多或少是静态的,因此 dwt 可以正常工作。但是,我想稍微伸展一下翅膀,随着页面的增长,代码变得非常混乱。所以我砍掉了页眉、页脚和侧边栏,并将它们带入到所有带有 php 包含的页面中,并使用在页眉中回显的变量为每个页面动态分配标题、元数据和描述。原因我更喜欢这个是:

  1. 它更干净。如果每个页面都包含页眉和页脚的所有数据,以及 Dreamweaver 在其中抛出的额外标签,那么我必须筛选所有内容以找到我需要的位置。
  2. 它更安全。这有点像上述 dwts 安全的原因,除了我在 Coda 等文本编辑器中进行所有代码编辑。因此,有时我不小心删除了受 dwt 保护的代码行,因为这些规则仅适用于 Dreamweaver。如果我看不到它,我无法切断部分标题。顺便说一句,这使得更容易识别错误。
  3. 它是现代的。当我看到我欣赏的设计师和设计公司制作的精彩页面时,我会浏览源代码。我从未见过 dwt 标签。我相信通过使用 PHP 来动态抓取文件并执行其他任务,让我不必在每个页面上浏览和更改某些内容,生活会变得更轻松,并使事情保持精简并与当前的 Web 趋势和标准保持同步。
  4. 这很简单。这应该在列表的顶部。就像我说的,我们必须培训一个新人如何为网络创作。对她来说,学习一行简单的 PHP 并了解该语言的工作原理不是更好吗,而不是仅仅为了保持她的工作准确而学习一整段(不完全是用户友好的)软件和其他人一样吗?关于这一点,我相信 PHP 是网页设计师武器库中的一个强大工具,为了统一而阻止她学习它是一种罪过。
  5. 它很快。我是否误以为带有页眉和页脚的页面构建的加载速度比包含所有内容的大页面要快?还是仅在使用 AJAX 动态加载正文时才适用?

我在 Google 和 Stack Overflow 上就这个主题进行了广泛的搜索,这是我能找到的最相关的文章:

为什么要使用 Dreamweaver 模板而不是 PHP 或 Javascript 进行模板化?

答案很有帮助,但我真的很想更详细地了解为什么我们不应该切换到更简单且更有潜力的新方法。我的经理坚持说“结果是一样的,所以如果没有什么让我说,‘哇哦,这太棒了,好多了!’,那么我们就应该保持现在的状态。”

(我为这个问题的长度道歉,但指导方针要求我尽可能具体。)

4

3 回答 3

1

就像我在评论中所说的那样,如果不知道您正在使用哪些站点,很难判断哪些 PHP 功能最重要。但是,我可以尝试描述我正在处理的最简单的网站类型,以及 PHP 在何处以及如何派上用场。如果您使用更复杂的东西,对编程语言的需求可能只会增加。

简单的网站可能有几个带有文本和图像的不同页面。我假设没有任何交互(即没有查询表),没有大量的结构化数据(即没有产品目录),只有一个设计模板,每个页面都使用没有任何差异。这是典型的结构:

  • 一个 PHP 文件 (index.php) 用于处理各种 php-ish 内容
  • 一个设计文件(例如template.php),用于存储所有html-ish(包括页眉、页脚等。基本上所有带有文本和菜单占位符的html)
  • 一个 CSS 文件,用于网站 CSS
  • 大多数文本都存储在数据库中,或者(最坏的情况)只是 txt 文件。菜单(导航)也存储在数据库中
  • 包含所有需要的图像的图像文件夹

这里的主要特点是:

  • 简单。您只有真正需要的文件和代码才能保持井井有条和清晰
  • 可重用性。您基本上可以复制/粘贴您的 php 代码,几乎不需要更改新的类似网站
  • 没有任何重复。
  • 数据和设计分离。想更改文本,修正错别字吗?您无需接触设计 (html) 文件即可完成此操作。想为您的网站进行全新的设计吗?您甚至可以在不知道这些文本是什么或它们保存在哪里的情况下做到这一点。
  • 就像 deceze 说的,没有锁定。使用您喜欢的任何软件。(包括 Dreamweaver)

PHP 负责获取文本、菜单、设计并将它们全部呈现到网页中。如果网站使用超过 1 种语言,PHP 代码会为访问者选择的语言选择正确的文本。

如果文本存储在数据库中,您甚至不需要记事本和 ftp。您只需要,即 phpMyAdmin(存储在服务器中),因此您可以直接连接到数据库并仅使用 Web 浏览器编辑您喜欢的任何文本;来自世界任何地方。(我假设没有真正的 CMS)。如果您需要添加更多页面,请使用 myAdmin 和浏览器连接到数据库,输入 1 种或多种语言的页面名称(用于菜单),输入新页面的文本(1 种或多种语言),完成!创建新页面,将名称放在菜单中,为您生成所有超链接。如果您需要删除页面,请连接到数据库并单击删除。如果您需要隐藏页面一段时间(即在发布前进行校对),您连接到数据库并取消选中“已发布”框。

当然,这一切都不仅仅来自于使用数据库,您需要使用 PHP 对这些功能进行编程。根据经验,这可能需要大约 1 - 3 个小时,并且代码可以完全重复用于将来的每个类似网站。基本上,您只需复制/粘贴 php 文件,复制/粘贴数据库表,在数据库中输入新文本和菜单,将占位符放入您的 html 文件并完成!创建了全新的网站。

这立即使 DWT 的大部分推理变得无关紧要。您不会移动文件,因为您只有一个 html 文件并且没有目录,您不需要灰显模板,因为文本/图像(内容)和模板甚至不在同一个文件中,没有更改链接之类的事情在 dwt 文件中,因为是 PHP 动态生成它们(这些不是指向真实 html 文件的真正链接,而是带有参数的链接,以告诉 PHP 必须呈现哪个页面。因为请记住我们只有 1 个文件)。底线是,并排比较两者的特征就像比较剑与机枪的特征。在机枪的情况下,刀片概念的锋利度和长度是没有意义的;而终身剑用户不会' 在他尝试使用机枪之前,他并没有真正理解速度和口径的含义。然而,虽然您无法一一比较它们的功能,但没有人将剑带入枪战是有原因的 :)

至于 #3,目前使用 PHP 的人比 DWT 多得多(如果您将来需要更多员工,或者其他人以后需要使用您的网站等)至于 #5,您可以像编辑 DWT 网站一样使用 Dreamweaver 编辑 PHP 网站。

这只是我的想法。我在午休时间写了这篇文章,所以我可能忘记或错过了很多东西。我希望您也能通过详细的 DWT 与 PHP 比较得到正确的答案。

于 2011-10-26T13:39:09.657 回答
1

您根本无法比较 PHP 与 DWT。
PHP 是一种编程语言,模板只是它众多功能之一,而 DWT 只是用于构建简单网页的愚蠢的专有系统。

实际上没有什么可比较的。

于 2011-10-26T14:36:06.797 回答
1

我会说在 PHP 上使用 DWT 模板确实有一些优势。

  • 它不需要任何额外的服务器端进程,如 PHP 来处理服务器上的文件。
  • 您可以将所有文件作为 .html 文件而不是 .php 文件提供给用户,但我怀疑可以隐藏 .php 扩展名。为什么任何用户都应该看到 .html 以外的任何内容?
  • 您不必学习 PHP 语法/编程。确实,您可以使用 PHP 做更多的事情,而不是普通的 .dwt 文件,但是对于普通的模板化 .dwt 文件可以同样干净。
  • .dwt 文件不是一种锁定技术是不正确的。该功能也由其他 Web 编辑器实现,例如 Microsoft Expression Web。
于 2011-11-08T22:24:20.787 回答