目次
ファイル構成
コアプラグインファイル
視聴回数
ボイラープレートは、スタイルシートと JavaScript ファイル以外の他のアセット (画像など) を管理するためのディレクトリや規則を提供しません。
ディレクトリ、またはその他の使用するタイプのディレクトリを作成できると記載されています。ファイルの。
この記事では、定型文の構成の「なぜ」について検討しましたが、実際には定型文の「方法」については検討していないため、次の記事ではそれについてのみ説明します。
ホームページ バックエンド開発 PHPチュートリアル プラグイン開発における WordPress ボイラープレートの重要性

プラグイン開発における WordPress ボイラープレートの重要性

Aug 28, 2023 am 09:53 AM

過去 5 ~ 10 年の間に、Web サイトや Web アプリケーションの構築は、1990 年代に構築された多くのものよりもはるかに複雑になりました。大文字の HTML、テーブルベースのレイアウト、醜い JavaScript を使用して Web サイトを手動で作成し、ページ上で何らかのかわいいアニメーションを作成する時代は終わりました。

現在、さまざまなテクノロジー、フレームワーク、言語があり、それらがすべて連携して、ブラウザーで実行される完全なソフトウェア アプリケーションを構築するのに役立ちます。

今は開発者にとって素晴らしい時期です。

自由に使えるテクノロジーが非常に多いため、ボイラープレートの人気はますます高まっています。馴染みのない人のために説明すると、ボイラープレートは基本的に、開発者がすべてのサイトやアプリケーションに共通するコードや特定のコンポーネントを記述せずにプロジェクトをすぐに開始できるようにするコード ベースです。

もちろん、やりすぎて必要以上に面倒で複雑になる可能性がありますが、優れたものはすべて、コア アルゴリズムの作成に集中できるように基礎を築くこと、つまり一種の足場を提供することを目的としています。プロジェクトとニーズに固有のコードと関数。

1 年以上前、私は WordPress Plugin Boilerplate と WordPress Widget Boilerplate という 2 つのプロジェクトに取り組み始めました。それぞれの目的は、WordPress のベスト プラクティスを使用してプラグインを構築するための基盤を開発者に提供することです。ありがたいことに、これらのプロジェクトは、可能な限り強力なものにするために、オープンソース コミュニティから他の多くの貢献も受けています。

これらのプロジェクトを維持する際の 1 つの側面は、なぜこのように配置するのかという質問を受けることがよくあることです。したがって、この 2 部構成のシリーズでは、定型ファイル、私が行っている方法で定型ファイルを整理する理由 (および利点) を見ていき、次に、これらの定型ファイルの 1 つを使用して単純なプラグインを構築して、例を示します。将来のプロジェクトでそれらをどのように使用するか。


ファイル構成

ソフトウェア アプリケーションを構築する際の重要なコンポーネントの 1 つは、規模の大小を問わず、プログラムをどのように構成するかです。これは、クラスや関数がどのように関連しているか (これについては別の記事で説明します) に限定されるものではなく、ファイルがどのように編成されているかにも当てはまります。

理想的には、ファイルを単にディレクトリにダンプし、プロジェクトを維持するために他の開発者が選別するままにしておくべきではありません。代わりに、ファイルは一貫したディレクトリに論理的に編成され、(巧妙にではなく) 明確に名前が付けられるべきであり、プロジェクトに貢献する開発者は、特定のファイルがどこにあるのか、自分で追加したものをどこに置くのかを知るためにほとんど労力を必要としないはずです。

WordPress 样板在插件开发中的重要性

これは古い格言のようなものです:

あらゆるものを適切な場所に配置。

これら 2 つのボイラープレートを作成するとき、私はこの特定の原則に従おうとしただけでなく、Ruby on Rails がそのレイアウトをモデル化する方法からインスピレーションを得ようとしました。具体的には、彼らは「設定よりも慣例」を好みます。

明らかに、WordPress は Rails ではなく、MVC フレームワークでもありませんし、そうであってほしくありません。他の開発者から良いアイデアを借りて、私たちの環境での生活を楽にしたいだけです。

コアプラグインファイル

プラグインがどれほど単純か複雑かに関係なく、プラグインには少なくとも 1 つの PHP ファイルが含まれている必要があります。 このファイルはコア プラグイン ファイルとして機能し、プラグインを有効にするすべてのコード、ロジック、機能が含まれています。

さまざまなプラグインを見ると、開発者がさまざまなアプローチをとっていることがわかります:

  • 一部のファイルには すべてが 1 つのファイルに含まれています
  • 関連する関数を別個のファイルに分割し、コア プラグイン ファイルを使用して各関数を単純にインクルードする場合もあります
  • フロントエンド コードの一部をサーバー側コードから分離するものもあります

私はここで、これらの方法 (または言及されている方法) が他の方法よりも優れている理由を証明するためにここにいるのではなく、ボードがなぜこのようにレイアウトされているのか、そしてそれがどのように機能するのかを説明するだけです。

WordPress 样板在插件开发中的重要性

README ファイルに基づくプラグインのホームページ。

WordPress プラグインには、コア プラグイン ファイルに加えて、エンド ユーザーにプラグインの使用方法と WordPress プラグイン リポジトリ内のページへの入力方法に関する手順を提供する Readme ファイルも必要です。

最も基本的なレベルでは、WordPress プラグインに必要なのは、コア プラグイン ファイルと Readme ファイルだけです。これら 2 つのファイルだけを使用して非常に複雑なプラグインを構築できますが、特に他の開発者が貢献し始めた場合、メンテナンスが非常に困難になる可能性があり、最終的には予期しないバグが発生する可能性があります。

したがって、私はコードを論理的に分離するコンポーネントの大ファンです。

視聴回数

View は、MVC パターンから借用した言葉です (Rails からインスピレーションを受けました)。

ビューは、管理者や Web サイト訪問者のために画面上に要素をレンダリングするフロントエンド マークアップとして定義できます。

###それだけです。簡単ですよね?

もちろん、PHP で作業しているため、コード全体にいくつかの小さな PHP タグが配置されることは間違いありませんが、ビュー ファイルの大部分は、class 属性と ID 属性を持つ HTML である必要があります。

テンプレートには 2 つのビューがあります:

  1. admin.php は、管理ダッシュボードでユーザーに要素を表示するために使用されるビューです。
  2. widget.php
  3. または plugin.php は、Web サイト訪問者に要素をレンダリングするために使用されるビューです。 もちろん、プラグインにはダッシュボードや Web サイト訪問者のビューがない場合もあります。この場合、
  4. views
ディレクトリが削除され、コア プラグイン ファイルにこれらのディレクトリを含めるコードが削除されます。

スタイルシート

これは、定型文の簡単なコンポーネントです。フロントエンド開発を行う人なら誰でも、スタイルシートの管理方法を知っており、スタイルシートを編成する独自の方法を持っている可能性があるためです。

ただし、一貫性を保つために、

css

ディレクトリにすべてのスタイルシートが保存されることに注意してください。これらのファイルも、関連するビューと同じ命名規則に従います。

###特定の:###

admin.css

は、管理ダッシュボードでユーザーの要素をスタイル設定するために使用されるビューです。

    widget.css
  1. または plugin.css は、Web サイト訪問者向けの要素のスタイルを設定するために使用されるビューです。
  2. LESS または SASS にディレクトリ構造を導入することを検討しましたが、それは開発にとってあまりにも独断的すぎると思いますし、それは私がボイラープレートに望んでいる方向ではありません。むしろ開発者が自分のスタイルを選んで取り入れてほしいと思っています。 この目的を達成するために、私が通常プロジェクトでスタイルシートを整理する方法は、css ディレクトリ内に
  3. dev
ディレクトリを導入し、次に

admin .less# を導入することです。 ## および

plugin.less

ファイルはコンパイルされ、ルートの css ディレクトリに縮小されます。 これは、組織の定型的なアプローチに従い続けながら、LESS ファイルを含めることも可能にします。 JavaScript スタイルシートと同様、JavaScript ファイルは定型文の単純なコンポーネントです。これは、WordPress を使用してテーマやプラグインを開発するほとんどの人が JavaScript を使用しているためです。 残念ながら、ユーザーとしても開発者としても、WordPress で JavaScript を使用する際に最もイライラする部分の 1 つは、開発者がベスト プラクティスに従っていないことが多いことです。

一般に、開発者は常に次のことを行う必要があります:

WordPress にバンドルされているバージョンの jQuery を使用してください

匿名関数を使用して jQuery '$' 関数にアクセスすることで、jQuery '$' 関数との競合を回避します

jQuery を別のプラグインとして登録解除しないでください。テーマがそれを使用している可能性があります。

    そうは言っても、スタイルシートやビューなどの定型ファイルは次のように構成されています。
  1. admin.js
  2. は、管理ダッシュボードのユーザー要素の動作を管理するために使用される JavaScript です。
  3. widget.js
または

plugin.js

は、訪問者に対する要素の動作を管理するために使用される JavaScript
    です。
  1. スタイルシートと同様に、開発者はプラグインを公開する前に JavaScript を検査および/または縮小することもできます。 JavaScript ファイルの管理方法が厳格になりすぎないように、定型文にはサブディレクトリは含まれていませんが、事前チェックを管理するために js
  2. ディレクトリ内に
  3. dev ディレクトリを作成することがよくあります。事前に縮小された JavaScript。 ###言語### プラグインを構築する際の 1 つの側面は、他の言語を話す人がプラグインにアクセスして翻訳できるようにすることです。できるだけシンプルにするために、ボイラープレートには lang
  4. ディレクトリとスケルトン
plugin.po

ファイルも含まれています。 このファイルは、POEdit と組み合わせて使用​​するように設計されているため、開発が完了すると、ローカライズされたすべての文字列を簡単に処理できるようになります。 画像やその他のアセットはどうなりますか?

ボイラープレートは、スタイルシートと JavaScript ファイル以外の他のアセット (画像など) を管理するためのディレクトリや規則を提供しません。

繰り返しますが、これは、開発者がコア機能に集中できるように十分な足場を提供しながら、意見が偏りすぎないようにするバランスです。すべてのプラグインに管理 CSS、JavaScript、またはビューが含まれているわけではありませんが、画像やその他のリソースが含まれるよりも一般的です。 ただし、規定されている規則では、assets ディレクトリ、

images

ディレクトリ、

icons

ディレクトリ、またはその他の使用するタイプのディレクトリを作成できると記載されています。ファイルの。

なぜわざわざ?

WordPress ウィジェット テンプレート それでは、これには一体何の意味があるのでしょうか?ファイルを開いてすべてのコードを書き始めるのは簡単だと思いませんか?本当に。ただし、ほとんどの開発は製品のリリース後に行われるため、プラグインの開発に真剣に取り組んでいる場合は、製品を構築する仕事に携わることになるということを覚えておいてください。 したがって、終わりを念頭に置いて始める必要があります。ファイルの整理、ファイルの名前付けなどには一貫したスキームを使用してください:

  • 長期的には開発を簡素化し、開発者と開発者がファイルの管理方法、新しいファイルの配置場所、必要に応じた依存関係の検索方法を理解できるようにします
  • プラグインを強化できる共通の構成とパターンを提供することでメンテナンスが容易になります
  • コードベースが扱いにくくなった場合に大規模なリファクタリングを必要とせずに、最初のバージョンを超えてプロジェクトを拡張する機能の向上

最も重要なことは、スキャフォールディングにより、開発者が邪魔をせずに製品の中核となるビジネス ロジックに簡単に取り組み始められるようにすることです。


###結論は###

この記事では、定型文の構成の「なぜ」について検討しましたが、実際には定型文の「方法」については検討していないため、次の記事ではそれについてのみ説明します。

具体的には、ボイラープレート ファイルの 1 つを使用してプラグインを段階的に構築し、ボイラープレートのコピーを取得して開発を開始するために必要な一般的な手順を決定できるようにします。

以上がプラグイン開発における WordPress ボイラープレートの重要性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

See all articles