走出 WordPress 舒适区的经验教训
已发表: 2020-01-07那是 2018 年的夏末。我是一名年迈的开发人员,不太确定自己适合 WordPress 世界的哪个位置。 我花了十多年的时间学习这个平台的来龙去脉,这个平台开启了我的职业生涯,并作为我想要解决的其他宠物项目的爱好。
在某种程度上,我很无聊。 我需要一个新的挑战。
我喜欢 WordPress。 不仅如此,我感谢 WordPress 多年来让我完成的工作。 但是,我对我的个人博客不再满意。 它很适合这份工作,但我经常发现它的小工具和小玩意儿比我需要的多得多。 多年来,我也一直在用 Markdown 而非经典编辑器写博客文章。 WordPress 不再是我博客工作流程的一部分。 有时,这是一个障碍。
接受挑战。
一个周末,我建立了一个可以工作的自定义博客系统。 我不愿将其称为内容管理系统 (CMS),因为它缺乏任何 CMS 核心的关键功能,例如管理界面。 尽管如此,我还是在两天内从头开始构建了一个工作系统。
我不知道如果不依赖 WordPress 在我的大部分编程生涯中慷慨提供的有用功能和工具,我可以完成这样的壮举。 我数不清有多少次我不小心输入了esc_attr()或esc_html()只是为了记住那些是 WordPress 函数。 我的 WordPress 肌肉记忆力很强。 在不知不觉中,我通过在 WordPress 之上构建所学到的一切都促使我成为一名更全面的 PHP 开发人员。 核心 WordPress 中我没有使用过的 API 很少。 我了解大部分源代码,并且知道许多遗留垃圾的原因。
与 WordPress 的力量相比,我的个人项目相形见绌,直到今天仍然如此。 然而,它让我走出了舒适区。 它使我能够以新的方式探索旧思想。
一个例子是了解重写规则和路由是如何工作的。 我和我的一些朋友最近开玩笑说没有人真正了解 WordPress Rewrite API。 您只需对其进行修补,直到某些东西起作用并且新代码不再破坏您的网站。 那里有许多现有的库,但我想了解它是如何为我自己的教育工作的。 因此,我着手构建一个 HTTP 请求、路由器和控制器类。 最终结果是一个优雅的解决方案,它大量借鉴了其他 PHP 框架。
使用简单的代码行,如下所示设置“书”内容类型,我可以处理传入的书页请求,将其映射到正确的资源,并在前端输出模板。 我开始想知道为什么我作为开发人员这么多年来一直回避这个基础网站概念。
// Create 'example.com/books/book-name'. $this->router->get( 'books/{name}', Controller::class );在许多其他领域,我开始质疑“WordPress 方式”的做事方式。 在这个发现之旅中,我学到了一些可以带回用于我的 WordPress 项目的东西。 通过进入更大的网站开发世界,我能够更好地看到平台中的缺陷,这些缺陷帮助我爱上了编程。 但是,我也能更好地看到在过去 15 年中成千上万的开发人员一直在运行的系统的美妙之处。

不仅仅是代码
我有机会学习和学习大型框架,如 Laravel 和 Symfony。 但是,我还从纯粹的用户体验角度研究了其他平台的工作方式。
我确定的一件事是,我想测试为使用 Markdown 写作的人创建的平台。 我并不是在寻找大型平台来与 WordPress 的力量竞争,例如 Joomla 或 Drupal。 相反,我正在寻找像 Grav、Jekyll 和 Hugo 这样的轻量级解决方案。 我想了解用户体验如何适应我的工作流程。
在我测试的所有解决方案中,每个都有其优点。 每个人也都有不合我口味的做事的特征或方法。 这次经历的好处是我能够确定我希望我的博客平台如何为我工作。 阅读这些社区中其他人的想法也让我听到了 WordPress 社区以外的用户关于他们为什么喜欢他们喜欢的博客系统的信息。
我挺身而出。 使用我从这些平台中学到的东西,我构建了一些我乐于使用的东西。 它并不完美,而且很可能永远不会完美。 成长空间不是坏事。
在此期间,我重新燃起了对 WordPress 博客的热爱。 虽然并不总是流行的观点,但块编辑器比经典编辑器感觉更好。 这是我可以看到自己经常使用的东西。 除了我的个人博客,我开始在其他项目中使用它。 我仍然每天都用 Markdown 写作。 然而,我发现自己多年来第一次喜欢在 WordPress 的编辑器中写作。
为什么你应该尝试新平台
从开发人员的角度来看,自满并依赖单一系统并不是一个好主意。 与其称自己为“WordPress 开发人员”,不如超越这些术语。 相反,您应该是一名 PHP 程序员或 JavaScript 程序员。 或者,更好的是,简单地称自己为程序员。 程序员解决问题。 工具或语言是您用来从 A 点到 B 点的工具。
在就业市场上,成为一名更全面的程序员会带来更多机会。 虽然我们大多数人只能希望 WordPress 成为未来 10 年、20 年或 50 年的领先平台,但您应该为任何未来做好准备。
不时与其他平台合作的另一个好处是,您可以学到可以带回 WordPress 生态系统的想法。 例如,看看 Sage 入门主题如何实现 Laravel Blade 的模板引擎很有趣。 这些想法可以帮助塑造 WordPress 的未来。
一些想法可以被推送到核心 WordPress 中。 其他人可以改善机构内的团队工作流程。
继续教育使整个 WordPress 社区受益。 不要将这种教育限制在 WordPress 特定的想法上。 从外部学习并将其带回来。
