58云玻网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 451|回复: 0

抽象 WordPress 代码以与其他 CMS 重用:实施(第 2 部分)

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-12-20 12:04:59 | 显示全部楼层 |阅读模式
使我们的代码尽可能与 CMS 无关,使我们能够在需要时轻松地将应用程序移植到另一个 CMS。在本文中,我们将学习如何抽象 WordPress 应用程序,使其代码可轻松用于其他框架或 CMS。

在本系列的第一部分中,我们学习了构 电子邮件营销列表 建尽可能与 CMS 无关的应用程序的关键概念。在第二部分也是最后一部分中,我们将继续抽象一个 WordPress 应用程序,使其代码准备好与Symfony 组件、Laravel 框架和October CMS(基于 Laravel)一起使用。

访问服务 在开始抽象代码之前,我们需要向应用程序提供依赖注入层。正如本系列第一部分所述,这一层是通过Symfony 的 DependencyInjection 组件来满足的。为了访问定义的服务,我们创建一个类ContainerBuilderFactory,它只存储组件对象的静态实例ContainerBuilder:



为了便于阅读,我在本文中省略了向所有类和接口添加命名空间。然而,按照 PHP 标准建议PSR-4中的规定,添加命名空间是必须的!除其他优点外,应用程序可以从自动加载中受益,并且 Symfony 的依赖注入可以依赖自动服务加载来将其配置减少到最低限度。

访问函数 “针对接口编码,而不是实现”这句格言意味着 CMS 提供的所有这些功能都无法再直接访问。相反,我们必须从合约(接口)访问该函数,CMS 函数将在该合约上简单地实现。在抽象结束时,由于不再直接引用 WordPress 代码,因此我们可以将 WordPress 替换为不同的 CMS。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX ( 鲁ICP备2024066306号 )

GMT+8, 2024-11-26 18:50 , Processed in 1.080626 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表