• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

什么是Drupal?

drupal 是一个流行的用php编写的开源内容管理系统它由一名比利时学生在 2000 年代初创建,现在为网络上一些最著名的网站(WhiteHouse.gov、Weather.com 等)提供支持。它通常被视为 CMS 的竞争对手,例如wordpressjoomla

Drupal 项目最重要的组成部分之一是它的支持者社区(贡献者、开发人员、布道者、企业主等)。在这个社区中突出的是Drupal 协会,负责“促进和支持 Drupal 软件项目、社区及其发展”。

Drupal 项目的第 8 个主要版本与其前身相比是一个巨大的飞跃,刚刚上架。它带来了其代码、实践和心态的严重现代化。许多人认为这种转变是从传统的 CMS 概念到更多内容管理框架(CMF) 的真正转变,它为构建复杂的应用程序提供了一个很好的平台。

在本文中,我将回答人们在第一次启动或考虑这样做时对 Drupal 提出的一些更常见的问题:

  • 适合我吗?它针对谁?

  • 如何安装它,我在哪里可以托管它?

  • 作为开发人员,我如何开始使用它?

  • 我有哪些选项可以扩展功能或对其进行样式设置?

Drupal 针对谁?

自项目开始以来,Drupal 已经从主要用于构建小型站点的工具发展为现在可以为企业级平台提供支持的工具。尤其是使用 Drupal 8,站点构建者和开发人员可以轻松地从小型网站扩展到具有许多集成的大型平台。例如,使用 Composer 不仅可以将外部库引入 Drupal 项目,还可以将 Drupal 用作更大的应用程序和库项目的一部分。可以肯定地说,Drupal 足够灵活,可以满足各种项目的需求。

在开发方面,Drupal 一直有一个相对封闭的社区——不是因为人们不友好,恰恰相反,而是主要是因为代码通常是以 Drupal 方式编写的(导致有时被称为Drupalisms)。这对任何刚起步的开发人员来说意味着一个学习曲线,但也意味着其他 PHP 项目的开发人员不太愿意参与其中并做出贡献。

这已不再是这种情况。特别是随着 Drupal 8 的发布,社区现在提倡跨不同开源项目的代码可重用性和最佳实践的新思维。积极参与PHP 框架互操作性小组是这项工作的一部分,在 Drupal 8 核心中使用许多流行的 symfony 组件就是对这一承诺的证明。 

通过这一举措,Drupal 社区通过欢迎来自其他社区和项目的许多开发人员而变得更加丰富,并且肯定会进一步发展。因此,如果你是Laravel开发人员,查看 Drupal 代码将不再那么令人生畏。

我如何安装 Drupal,我在哪里可以托管它?

传统上,Drupal 的安装过程相对简单,特别是对于至少熟悉 Linux 环境的人来说。该项目只需放入您的 Web 服务器可以运行的文件夹中(需要使用 PHP 并具有 mysql 或 MariaDB 数据库)。然后将您的浏览器指向该/install.php文件并按照步骤完成其余的工作。您将看到的最重要的屏幕是您选择要使用的特定数据库的屏幕。

需求方面,LAMP 栈(Linux、Apache、Mysql 和 PHP)环境一直是 Drupal 最喜欢运行的环境,但绝不限于此。存在直接在 Windows 或mac上安装它的解决方案(例如使用Acquia Dev Desktop),也可以在运行其他 Web 服务器的 Linux 系统上安装它。

如果您使用自己的设置,最简单的方法是使用 LAMP 服务器进行托管。为了获得更高的性能,您可以用 Nginx 替换 Apache,但是您必须处理一些特定的配置,否则这些配置会在Drupal 附带的文件中处理。.htaccess

但是,如果您不想麻烦维护自己的托管服务器,可以使用三个主要的专业 Drupal 托管服务提供商:AcquiaPantheonPlatform.sh这些还提供了一个易于更新和开发流程的工作流程。除此之外,您正在寻找一家 Drupal 开发公司的完全托管主机。

我怎样才能开始为它开发?

开发 Drupal 网站通常是您非常喜欢或根本不喜欢的事情。这是因为当您第一次接触 Drupal 时,您遇到了很多在其他项目中没有看到的特殊性。因此,如果那些让你喜欢,你会永远爱它。

随着在 Drupal 8 中离开这个,情况不再如此。你仍然有很多Drupalisms可以让你喜欢或讨厌,但你现在也有了 Symfony 或 Guzzle 等外部组件,最重要的是,还有一种更现代的一般代码编写方式(OOP、设计模式、可重用组件等)。 )。因此,您使用 Zend 构建网站的 PHP 技能将派上用场。

进入 Drupal 开发的一个好方法是学习一些在线视频课程。有几个非常适合此目的的资源,最著名的是Drupalize.me但是,如果视频不是您最喜欢的媒体,也可以使用许多书面教程和指南来帮助您入门。查看以下链接,了解您可以采取的一些初步步骤:

  • 官方 Drupal 开发指南

  • Drupal api 参考

  • 模块开发指南

  • Envato 的 Drupal 代码教程

由于 Drupal 8 是全新的,您会发现更多有关 Drupal 7 的学习内容。不过,社区的焦点最近已转向 Drupal 8,因此您可以期待越来越多的此类资源出现。如果您对任何版本的 Drupal 没有经验,最好只关注 Drupal 8,因为两者之间的变化很大,也许您会面临不必要的挑战。

如何扩展 Drupal?

核心 Drupal 安装的主要扩展点是它的 模块系统。 

模块用于封装可以/应该在不同站点上工作的更大块可重用功能。除了核心模块之外,还有大量贡献的模块可供安装。 

当然,大多数仍然只适用于 Drupal 6 和 7,但社区也在追赶最新版本。通过在 Drupal 8 中合并一些流行的贡献模块以及扩展核心可以开箱即用的范围(与 Drupal 7 相比),这个问题也得到了缓解。 

最后,自定义模块(您自己编写的模块)是您可以添加任何您想要的功能的主要方式,而这些功能无法通过贡献的模块获得。

安装模块可以让您插入各种功能,但您不应将此视为添加太多功能的绿灯。坚持你真正需要的总是更好,不要害怕在这方面批评。您还可以努力在贡献代码和您自己编写 的自定义代码之间找到良好的平衡。

此外,由于我们谈论的是开源软件,因此您应该始终评估您安装的模块。以下指标是需要注意的好例子:下载和使用次数、提交频率、维护者参与度、问题队列的状态。

并牢记安全。强烈建议您保持 Drupal 核心和任何贡献的模块都是最新的,因为这将极大地帮助您保持站点和服务器的安全(尽管它不能确保它)。

造型呢?

Drupal 站点的样式层(大部分)由其主题处理。主题类似于模块,因为它们是一个扩展点,但它们有不同的职责。它们包含样式、前端库以及大多数情况下用于输出数据的模板文件。

Drupal 8 与之前的版本相比有了很大的进步:模板采用了流行的Twig 引擎,主题化仅限于 Twig 模板文件,调试和覆盖模板变得更加容易等等。后端开发体验 (DX),主题层已经对非 Drupal 人群更具吸引力。前端开发人员现在可以轻松使用 Drupal 主题,而无需了解后端的来龙去脉。

Drupal 核心带有许多主题,这些主题可以为您提供示例,也可以从中扩展。也有类似于模块的贡献主题。流行的前端框架,如 Bootstrap 或 Zurb Foundation,已经为 Drupal 7 提供了成熟的 Drupal 主题实现,这些实现也为 Drupal 8 做好了准备。这些作为基础主题非常有效,也可以快速搭建网站并使其看起来不错。

付费主题也可以试用。通常它们非常便宜且设置迅速。它们的问题在于,它们的价值与您为它们支付的价格完全一样,并且通常在它们的灵活性方面存在漏洞作为初学者,这些主题似乎是建立网站的好方法,而且很可能是这样。但是,随着您的进步,您将学会避免它们并根据外部设计甚至纯 htmlcss /JS 模板构建自己的。

结论

Drupal 是用于构建任何类型的网站和平台的强大工具。随着每个新的主要版本发布,Drupal 都表现出对自我完善、变得更加健壮和灵活以及拥抱外部社区的承诺。


文章目录
  • Drupal 针对谁?
  • 我如何安装 Drupal,我在哪里可以托管它?
  • 我怎样才能开始为它开发?
  • 如何扩展 Drupal?
  • 造型呢?
  • 结论