ハジメトーク最新記事

ハジメクリエイト社員による、日々の業務やトレンド、日常のアレコレについてお届けします。

もっと見る

【脱スパゲッティ】簡単なWordPresのプラグインでも「クラス設計」のすすめ!

2025.08.07

こんにちは。エンジニアの竹野です。

先日、自作サービス「Text Weaver」と連携するWordPressプラグインを開発しました。
※「Text Weaver」とは各サイトのテキストを一元管理するためのWEBサービスです。

詳しくはこちら

機能は「ショートコードを書くと、API経由でテキストを表示する」というシンプルなものです。
しかしシンプルだからこそ、将来のメンテナンスで苦労しないための「クラス設計」にこだわりました。
この記事では、今回の制作経験から「なぜ簡単なプラグインでもクラス設計が重要なのか」を、サクッとご紹介します。

WordPressエンジニアなりたての人は「自分もスパゲッティコードを作らないように」と
エンジニア以外の人は「コードってそうなってるんだぁ」と思っていただけると幸いです。

プラグイン開発の「あるある」な悲劇

多くのプラグイン開発は、たった1つの機能、1つのPHPファイルから始まります。最初はそれで問題ありません。しかし、機能追加を繰り返すうちに、そのファイルはどんどん肥大化していきます。

ちょっとここを直すだけ…」のつもりが、全く関係ない場所でバグを誘発。気づけば、誰も触りたくない「スパゲッティコード」が完成している…。あなたにも、そんな経験はありませんか?

私は何度もこれに陥ってきました。

今回はその失敗を活かし、クラスを使ってコードに「役割分担」をさせることにしました。(当たり前なことを堂々と言います。)

「役割分担」でコードを整理整頓しよう

私が作ったプラグインでは、コードをその「役割」ごとにファイルへ分割しました。これは、会社で人に役割を与え、分業して会社内の役割を整理するのと同じです。

実際のファイル構成はこのようになっています。

text-weaver-api/
├── text-weaver-api.php # ① 全体をまとめる「監督」
└── includes/
    ├── class-api.php     # ② API通信の「プロ」
    └── class-admin.php   # ③ 管理画面の「設定担当」

まるで小さな会社のように、各クラス(ファイル)に専門の仕事を担当させることで、コードの見通しが劇的に良くなります。それぞれの役割を見ていきましょう。

① 監督 (text-weaver-api.php) 司令塔

プラグイン全体の動きを把握する司令塔です。このファイル自身は具体的な作業を行わず、各担当者(クラス)を適切なタイミングで呼び出し、WordPressに「こういう機能がありますよ」と登録することに徹します。

② APIのプロ (class-api.php) 職人

外部APIとの通信、データのキャッシュ処理、エラー対応など、面倒な通信周りのダーティワークを一手に引き受ける専門家です。将来、APIの仕様が変更になっても、修正はこのファイルだけで完結します。他のクラスは何も知る必要がありません。

③ 設定担当 (class-admin.php) 総務

管理画面の作成や、APIキーの保存といった、プラグインが快適に動くための内部環境を整える担当者です。ここでも、例えば「API接続テスト」のような専門的な作業が必要になれば、自分では行わずAPIのプロに依頼します。

まとめ:未来の自分が感謝する「最初の一手間」

「簡単なプラグインにクラス設計なんて大げさだ」と感じるかもしれません。しかし、この最初の一手間が、半年後のあなたを確実に救います。

クラス設計を取り入れるメリットは明らかです。

  • 修正が怖くない
    担当クラスのファイルだけを見ればOK。予期せぬ副作用のリスクが激減します。
  • 機能追加が楽
    新しい担当者(クラス)を追加するか、既存の担当者の仕事に追記するだけで済みます。
  • コードが読みやすい 
    ファイル名やクラス名が、そのまま役割を示してくれるため、他の人が見てもすぐに構造を理解できます。

スパゲッティコードが生まれてしまうのは、あなたのスキル不足が原因ではありません。多くの場合、それは設計の問題です。

次のプラグイン開発から、ぜひこの「クラス設計」という名の整理整頓術を取り入れて、未来の自分を助けてあげてください!


🏢 株式会社ハジメクリエイトについて

この記事は、 株式会社ハジメクリエイト のエンジニアが執筆しました。


💻 Webシステム開発のプロフェッショナル

私たちは、ビジネスの成長をサポートするため、 PHPを用いたオーダーメイドのシステム開発 を提供しています。
お客様一人ひとりのニーズに応じたカスタムシステムを、 企画から開発・運用まで一貫してサポート
さらに、 React Nativeを活用したiOS/Android対応のアプリ開発 も得意としています。

単に「作る」だけでなく、
課題の本質に向き合い、最適な解決策を提案する のがハジメクリエイトのスタイルです。


🧑‍💻 一緒に働く仲間を探しています!

株式会社ハジメクリエイトでは、 自ら考え行動できるエンジニア を募集しています。
「私はこれがしたい!」という想いを持つあなた、一緒にモノづくりを楽しみませんか?

  • 技術で人の役に立ちたい
  • 意見が通る小さなチームで働きたい
  • フロントエンドもバックエンドも、いろいろ挑戦してみたい
  • お客さんと一緒にプロジェクトを育てたい

そんな気持ちがある方なら、きっと居心地のいい環境だと思います。
正社員はもちろん、パートタイムでの参加も歓迎中! 柔軟な関わり方で、あなたらしく働いてください。

👉 採用情報を見る
👉 お問い合わせはこちら


ちょっとでも「この会社、気になるな」と思ったら、ぜひお気軽にご連絡ください📩
最後まで読んでいただきありがとうございました!

  • Web技術
  • WordPress

この記事を書いた人

Takeno

Takeno

2025年6月入社。Webに携わることなら何でも出来るようになりたいエンジニアです。 面白そうな技術があればとりあえずやってみます!

Takenoの書いた記事一覧へ

ハジメクリエイトでは一緒に働く仲間を募集しています!

関連記事