走出 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 特定的想法上。 從外部學習並將其帶回來。