跳转到主要内容
长风 提交于 11 February 2017

翻译者:长风Drupal开发

翻译地址:http://www.5188jxt.com/technology/druapl8mo-kuai-kai-fa-ru-men-bei-jing-yu-qian-ti.htm

原文地址:https://www.drupal.org/docs/8/creating-custom-modules/getting-started-background-prerequisites-drupal-8

入门-背景与前提(Drupal 8) 为了适应第三方开发者,Drupal8利用高级PHP语言的特点和复杂的第三方库。虽然有经验的Drupal7开发者可能会看到一些明显的变化,但大部分的基本结构仍将是你熟悉的。

面向对象的程序设计

面向对象的程序设计,虽然最初令人望而生畏,现在已经确立为最佳实践。对于PHP的最佳实践的概况,通过阅读phptherightway.com,Drupal不利用各种不同的工具和技术记载但它作为一个伟大的介绍PHP语言的许多特点。通过阅读类和对象的PHP官方文档以及其他一些好的读物,复习你的OOP知识:

PHP OOP in Full Effect Object-oriented programming (on Wikipedia) What's Object-Oriented Programming? (Online tutorial at codecademy.com) Object-Oriented PHP for Beginners (at tuts+) Object Oriented Concepts (at tutorialspoint.com) Object Oriented Programming with PHP (at phpro.org) Object Oriented Programming in PHP (at youtube.com) Foundations of Programming: Object Oriented Design (at lynda.com)

Drupal 8也会使用一些常用的设计模式,你需要确保你有关于这些的基本了解: The Factory Pattern, and Late static bindings Software design pattern (on Wikipedia) Foundations of Programming: Design Patterns (at lynda.com)

PHP的命名空间

如果你不熟悉PHP命名空间的概念,尝试一些这样的文章:

How to use PHP namespaces. PHP: Namespaces a video on PHP namespaces. PHP Namespaces Explained (by Dayle Rees) Namespacing in PHP (at tuts+)

在大多数情况下,Drupal代码命名空间基于代码所属的模块。

例如 namespace Drupal\block;

依赖注入

虽然依赖注入是真的只是一个面向对象设计模式我们叫它来因为Drupal8对概念的大量使用,它是有一个基本了解,访问和使用的许多核心API的重要。 读了依赖注入对PHP的正确方法,以及与该页上的其他文章。特别是本文因为Drupal大量使用symfony的2服务容器的引用。 Symfony 2 Symfony 2是一个PHP框架,Drupal借用为了减少在各种PHP项目代码重复,大部分Drupal8用来处理路由、sessions等的代码是从Symfony 2借用的。如果你想了解更多关于这个决定的原因,查看https://prague2013.drupal.org/session/not-invented-here-proudly-found-elsewhere-drupal-8-story 。

查看Symfony 2手册 http://symfony.com/doc/current/index.html,复习你的Symfony 2知识。对了解Drupal来说,并不是所有的symfony知识都是必须的,了解symfony的工作原理将使你成为一个更好的Drupal开发者和PHP开发者。你可能对symfony glossay也有兴趣。

注释

Drupal8使用php注释,@docblock备注作为一种特殊的语法被添加到你的代码中,为插件的展示、提供附加的信息。

插件

插件提供小块的功能,在这样一种方式,他们可以很容易地换成另一个插件。执行类似功能的插件具有相同的插件类型。例如,“场”是一个插件式组件,每个不同领域的控件(文本字段、文本、日期)是一个插件实现。 Services