使用前缀和命名空间的 5 个 WordPress 开发人员提示

已发表: 2021-10-25

WordPress 开发人员使用前缀和命名空间的技巧

在对某些项目进行编码时,您可能会遇到一些问题,因为您的代码无法正常工作。 这可能是因为几个函数共享一个相似的名称。

这种类型的问题被称为“命名冲突”。 主要是名称空间和前缀是解决这么多人面临的大多数问题的主要答案。

命名空间和前缀非常重要,它可以帮助您在多个函数或类具有相似名称时停止冲突。

考虑到有多少 WordPress 贡献者创建了广泛的主题和插件并为 WordPress 核心做出了贡献。

大多数贡献者可能面临同样的问题,因此找到解决方案来帮助他们很重要。

在这篇博客中,我们将了解前缀和命名空间,并了解两者的重要性。 此外,我们将提及WordPress 开发人员提示,以帮助您解决此类问题。 让我们开始吧!

什么是前缀和命名空间?

PHP 的重要特性之一是命名空间,它是专门为在两个不同的函数或类具有相同名称时阻止冲突而创建的。 它也被称为命名冲突,它会阻止您的代码而不是运行。

在文件系统中,您会发现文件夹名称作为命名空间。 两个不同的文件可以具有相同的名称。 但是,每个函数和类都可以完美运行,但前提是这两个文件保存在两个不同的文件夹中。

但是,如果这两个文件保存在同一个文件夹中,则会遇到也称为命名空间问题的问题。

实际上,在 WordPress 中,命名空间有两种不同的含义。 上面解释的命名空间是在 PHP 中实际创建的版本。

但是,以前实际开发 WordPress 时 PHP 不支持命名空间。 因此,WordPress 用户正在寻找另一种获得类似效果的方法。

在寻找实现类似效果的解决方案时,他们提出了另一种功能,也称为“前缀”。 在 WordPress 中,前缀是 WordPress 开发人员使用的约定。

在类名或函数前面,WordPress 开发人员会加上前缀。 考虑一个示例,您可以使用 yourcompanyname_user,而不仅仅是编写 user.ideally。

这样,“用户”类的大多数实例都将带有前缀。 通过这样做,您将确保在将主题、插件和核心与用户类合并时没有冲突。

虽然编码前缀和命名空间是最常用的,它们可以帮助您与其他开发人员编写的代码进行交互。

即使没有案例,您也应该遵循这种做法。 遵循此类 WordPress 开发人员提示以消除命名冲突的可能性非常重要。

WordPress 开发人员使用命名空间和前缀的 5 个技巧

如果您想在代码中设置前缀和命名空间,那么您应该遵循这些提示。

1. 使用 PHP 命名空间代替前缀

前缀可以很好地工作,但它有一些缺点。 使用前缀的主要问题是您编写的代码不容易阅读。

这是因为阅读代码的人不会找到您的实际函数或类。 尽管他/她一开始会看到前缀。

使用 PHP 命名空间意味着您将确保代码中的函数和类易于阅读。 但是,阅读您的代码的人会了解该特定函数或类的作用。

如果您的代码被其他一些编码人员(例如开发人员或插件)使用,这将更有帮助。

使用命名空间编写代码的任务会更容易,因为您不编写前缀名称,而只编写类和函数名称。

使用命名空间是一个很好的 WordPress 开发人员提示,可以让您的代码更具可读性和简洁性。

2. 对于你的命名空间,它提出了一个命名约定标准

尚未确定用于创建和命名命名空间的官方标准。 但是确保您编写最好的代码将有助于您的网站及其代码更一致地运行。

将相同的命名约定添加到所有命名空间将帮助您记住和识别哪个命名空间适合哪种类型的项目。

创建命名空间的最佳方法是从供应商或公司名称开始。 在此之后,您可以为每个项目添加子命名空间。

考虑一个示例,您正在公司中创建主题,然后您可以使用 yourcompanyname 作为主命名空间,而子命名空间可以是该特定项目的主题。

让我们看看它会是什么样子

<!--?php 
命名空间您的公司名称\主题;
&lt;/pre&gt;
&lt;p&gt;使用这种类型的代码,您将了解从何处调用您的类和函数。 &lt;/p&gt;
&lt;h3&gt;3. 鼓励别名清理代码&lt;/h3&gt;
&lt;p&gt;PHP 有助于从不同的命名空间调用不同的函数以及相似的名称。 只需添加函数的完整路径,您就可以实现这一点。 下面给出一个例子。&lt;/p&gt;
&lt;p&gt;但是如果你重复这样做,你的代码会很快变得混乱。 但是,它会更长,更难阅读。 对于这些函数,它使您能够创建别名而不是 PHP。 因此,它将使您的课程更轻松。&lt;/p&gt;
&lt;p&gt;要构建别名,在导入函数或类时,您只需要指定它。 下面给出一个例子&lt;/p&gt;
&lt;预&gt;
<?php
命名空间您的公司名称;
使用您的公司名称\主题\用户作为主题用户;
类用户实现 ThemeUser {
}
&lt;/pre&gt;
&lt;h3&gt;4. 当没有命名空间支持时,您可以使用前缀&lt;/h3&gt;
&lt;p&gt;并非每个项目都支持 PHP 命名空间。 它适用于 &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;类&lt;/li&gt;
&lt;li&gt;函数&lt;/li&gt;
&lt;li&gt;某些常数&lt;/li&gt;
&lt;li&gt;接口&lt;/li&gt;
&lt;li&gt;特征&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;除此之外,您还必须使用旧形式的 WordPress 前缀。 其中还包含一些项目,例如图像大小名称、脚本句柄或数据库选项。&lt;/p&gt;
&lt;p&gt;对于您的命名空间,您需要遵循相同的命名约定。 &lt;/p&gt;
&lt;h3&gt;5. 应用自动加载以简化开发&lt;/h3&gt;
&lt;p&gt;当你调用一个给定的类时,自动加载会自动拉入类文件。 自动加载是 PHP 最好的功能之一。 您可以节省大量的精力和时间,因为您不必每次都编写 include 或 require 语句。 &lt;/p&gt;
&lt;p&gt;这可以在 PHP 中的 PSR-4 标准的帮助下完成。 &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;结论:&lt;/strong&gt;&lt;br ?-->
即使您是非技术人员或经验开发人员,使用命名空间也很重要。 命名空间可帮助您停止命名冲突,并将改进您的函数和类。