WordPressコンフォートゾーンの外に出て学んだ教訓
公開: 2020-01-072018年の夏の終わりでした。私は年をとった開発者で、WordPressの世界のどこに収まるのかよくわかりませんでした。 私は10年以上かけて、自分のキャリアをスタートさせたプラットフォームの詳細を学び、また、取り組みたい他のペットプロジェクトの趣味としても役立ってきました。
一部、私は退屈しました。 私は新しい挑戦が必要でした。
WordPressが大好きです。 それ以上に、WordPressが何年にもわたって達成してくれたことに感謝しています。 しかし、個人的なブログではもう満足していません。 仕事には適していましたが、必要以上にガジェットやギズモがたくさんあることがよくありました。 私はまた、古典的なエディターではなく、Markdownで長年ブログ投稿を書いていました。 WordPressは、ブログのワークフローの一部ではなくなりました。 時々、それは邪魔でした。
勝負を受けて立つ。
週末に、私は機能するカスタムブログシステムを構築しました。 CMSの中心となる管理インターフェースなどの重要な機能が欠けていたため、コンテンツ管理システム(CMS)と呼ぶのをためらっています。 それでも、2日でゼロから動作するシステムを構築しました。
WordPressが私のプログラミングのキャリアのほとんどに惜しみなく提供してくれた便利な機能やツールに頼らずに、このような偉業を成し遂げることができるとは思いもしませんでした。 誤ってesc_attr()またはesc_html() )と入力した回数を数えることはできませんが、それらがWordPress関数であったことを思い出すだけです。 私のWordPressの筋肉の記憶は強かった。 それを知らずに、WordPressの上に構築することで学んだことはすべて、よりバランスの取れたPHP開発者になるように私を駆り立てました。 コアWordPressから使用していなかったAPIはほとんどありません。 私はソースコードの多くを理解し、多くのレガシーガンクの理由を知っていました。
私の個人的なプロジェクトは、WordPressの力と比べると見劣りし、今でもそうです。 しかし、それは私を私の快適ゾーンの外に動かしました。 古いアイデアを新しい方法で探求することができました。
1つの例は、書き換えルールとルーティングがどのように機能するかを理解することでした。 私の友人の何人かと私は最近、WordPress RewriteAPIを本当に理解している人はいないと冗談を言った。 何かが機能し、新しいコードがサイトを壊さなくなるまで、それをいじくり回すだけです。 そこには多くの既存の図書館がありますが、私はこれが私自身の教育のためにどのように機能するかを理解したかったのです。 そのため、HTTPリクエスト、ルーター、コントローラークラスの構築に着手しました。 最終結果は、他のPHPフレームワークから大いに借りたエレガントなソリューションでした。
以下に示すように、「本」のコンテンツタイプを設定するための簡単なコード行で、本のページの受信リクエストを処理し、適切なリソースにマップして、フロントエンドにテンプレートを出力できます。 私はなぜ私が開発者として何年もの間この基本的なウェブサイトの概念を避けてきたのか疑問に思い始めました。
// Create 'example.com/books/book-name'. $this->router->get( 'books/{name}', Controller::class );私が物事を行うための「WordPressの方法」に疑問を呈し始めた他の多くの分野がありました。 この発見の旅の中で、WordPressプロジェクトで使用するために持ち帰ることができることを学ぶことができました。 ウェブサイト開発のより大きな世界に足を踏み入れることで、プログラミングに夢中になるのに役立ったプラットフォームの欠陥をよりよく見ることができました。 しかし、過去15年間、何千人もの開発者が実行し続けてきたシステムの美しさもよくわかりました。

コードがすべてではありません
LaravelやSymfonyのような大規模なフレームワークを研究して学ぶ機会がありました。 ただし、純粋なユーザーエクスペリエンスの観点から、他のプラットフォームがどのように機能するかも調べました。
私が確かに知っていたのは、Markdownで書いた人のために作成されたプラットフォームをテストしたかったということです。 JoomlaやDrupalなど、WordPressのパワーと競合する巨大なプラットフォームを探していませんでした。 代わりに、Grav、Jekyll、Hugoなどの軽量ソリューションを検討していました。 ユーザーエクスペリエンスが私のワークフローにどのように適合するかを理解したかったのです。
私がテストしたすべてのソリューションの中で、それぞれに利点がありました。 それぞれに、私の好みではないことを行うための機能や方法もありました。 この経験の良いところは、ブログプラットフォームがどのように機能するかを特定できたことです。 それらのコミュニティの他の人からの考えを読むことで、WordPressコミュニティ外のユーザーから彼らが彼らの好みのブログシステムを愛した理由について聞くこともできました。
私は前に出た。 それらのプラットフォームから学んだことを使用して、私は喜んで使用できるものを作成しました。 それは完璧ではなく、おそらく決して完璧ではなかったでしょう。 成長の余地は悪いことではありません。
この間、私はWordPressでブログを書くことへの愛を再燃させました。 常に世論であるとは限りませんが、ブロックエディターは、従来のエディターよりも飛躍的な進歩を感じました。 それは私が定期的に使用しているのを見ることができたものでした。 私の個人的なブログは別として、私は他のプロジェクトでそれを使い始めました。 私はまだ毎日Markdownで書いています。 しかし、私はWordPressのエディター内で数年ぶりに書くことを楽しんでいます。
新しいプラットフォームを試す必要がある理由
開発者の観点からは、自己満足して単一のシステムに依存することはお勧めできません。 自分を「WordPress開発者」と呼ぶのではなく、その用語を超えて考えてください。 代わりに、PHPプログラマーまたはJavaScriptプログラマーである必要があります。 または、さらに良いことに、単に自分自身をプログラマーと呼んでください。 プログラマーは問題を解決します。 ツールまたは言語は、ポイントAからポイントBに移動するために使用するものです。
求人市場では、よりバランスの取れたプログラマーになることで、より多くの機会が開かれます。 私たちのほとんどは、WordPressが今後10年、20年、または50年の主要なプラットフォームになることを期待することしかできませんが、将来に備えておく必要があります。
他のプラットフォームと時々連携することのもう1つの利点は、WordPressエコシステムに戻すことができるアイデアを学ぶことです。 たとえば、SageスターターテーマがLaravelBladeのテンプレートエンジンをどのように実装しているかを見るのは興味深いことです。 これらのアイデアは、WordPressの未来を形作るのに役立ちます。
いくつかのアイデアはコアWordPressにプッシュすることができます。 他の人は、機関内のチームワークフローを改善できます。
継続教育は、WordPressコミュニティ全体に利益をもたらします。 その教育をWordPress固有のアイデアに限定しないでください。 外から学び、それを持ち帰ります。
