検索
ホームページバックエンド開発PHPチュートリアルWordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング II

WordPress 插件继续文档:面向对象编程 II

シリーズのこの時点で、ファイル、クラス、関数、変数などを文書化してプラグインを完成させる準備が整いました。

これは実際にプラグインを完成させる最後のステップですが、オブジェクト指向プログラミングの高度なトピックを引き続き見ていきますので、これがシリーズの最後の記事ではありません。

しかし、その前に、前の記事で学んだことをすべて実践し、プラグインをバージョン 1.0 にアップグレードしましょう。

もちろん、これまでのすべての 記事と同様に、これまでに取り上げたすべての内容を常に最新の状態に保つことをお勧めします。そうすることで、前回の記事で行ったことを完全に理解するだけでなく、どのように行うのかを理解していただくことができます。実際に、この記事で説明した最後の点に到達します。

###導入### ###コース### ###タイプ###
    制御構造: 条件文
  1. 制御構造: ループ
  2. 関数とプロパティ
  3. ###範囲###
  4. プラグイン I
  5. をビルドする
  6. プラグイン II のビルド
  7. レコードプラグインI
  8. これらすべてを理解して確認したら、各ファイルの文書化を開始しましょう。
  9. レコードプラグイン
  10. このプラグインはさまざまな方法で記録できます:
  11. 最初にすべてのファイル ヘッダーを記録し、次にクラスを記録し、次に変数を記録し、関数を記録します。

各ファイルを一度に記録し、各ファイルに含まれるすべてについて簡単に議論することができます。

明らかに、このオプションを選択すると、各セクションにより多くのドキュメントが生成されますが、結果として退屈な記事が減り、プラグイン全体の制御フローが理解しやすくなるはずです。

これを行うために、プラグインをファイルごとに調べ、コードの各部分のドキュメントを紹介し、コードの背後にある重要な点について説明します。
  • 最後に、記事の最後でプラグインの最終バージョンを必ず参照します。それを踏まえて、始めましょう。
  • シングルポストメタマネージャー
プラグインを開始するメイン ファイルは、プラグイン ディレクトリのルートにある single-post-meta-manager.php ファイルであることを思い出してください。

以下は、このファイルの完全に文書化されたバージョンです。各レビューを注意深く読み、その形式に従っているだけでなく、提供されている内容にも注意してください。

リーリー

上記のコードでは、前の記事で概説した規則に従ってファイル ヘッダーを定義していることに注意してください。また、WordPress が正しく読み取れるように、必要なプラグイン ヘッダー タグも維持します。

この例では、カスタム

@wordpress-plugin

タグの下にそれらを含めていることに注意してください。これは必須ではありませんが、ファイルヘッダーのコメントを必要なプラグインのコメントから分離するのに役立ちます。

最後に、このプラグインのバージョンを

1.0

にアップグレードし、

@package

value="inline" をプラグイン >SPMM# に割り当てたことに注意してください。

##シングル ポスト メタ マネージャーがありません。これをプラグイン全体で使用します。

含まれるディレクトリ 次に、インクルード ディレクトリ内のすべてのファイルに注目してみましょう。 これらのファイルはディレクトリで何かを管理する前に必要であるため、これらの各ファイルを個別に確認してから、管理対象ディレクトリ内の残りのファイルについての説明を終えるのが合理的です。 シングルポストメタマネージャー

リーリー

明らかに、この特定のファイルには 多数の新しいコメントが導入されていますが、各クラス属性、コンストラクター、内部関数の役割は一目瞭然です。

プラグインを介して情報がどのように調整されるかに加えて、注目すべき重要なことは、前の記事で定義された標準をどのように遵守するかということです。

ただし、ドキュメント

内の特定のタグや機能が関連性がない場合に

使用されない場合、当社はそれらを自由に使用することに注意してください。この記事の残りの部分でもこれを続けていきます。

シングルポストメタマネージャーローダー

リーリー このクラスは、プラグイン全体で使用されるすべてのアクションとフィルターを調整するため、多かれ少なかれプラグインのコアコンポーネントであることに注意してください。このプラグインは、プラグイン全体で使用されるフックのすべての登録と調整を一元管理します。

最後に、

run

が呼び出されると、すべてのフックが WordPress に登録されるため、プラグインが開始されると、登録されているすべてのアクションとフィルターが呼び出されます。

管理者ディレクトリ

この時点で、プラグイン管理ディレクトリにあるファイルに注目する準備が整いました。

ファイルは複数の PHP ファイルで構成されていますが、CSS ファイルも含まれています。この記事では、CSS ファイルを文書化するのではなく、CSS ファイルを作成します。ただし、WordPress Codex

ではこれに関するドキュメントを

定義しています。

それでは、admin

ディレクトリに存在するクラスとファイルのログを続けてみましょう。

シングルポストメタマネージャー管理者

Single Post Meta Manager Admin クラスの役割は 1 つです。ダッシュボードのメタ ボックスとそのスタイルをレンダリングする機能を定義します。

<?php

/**
 * The Single Post Meta Manager Admin defines all functionality for the dashboard
 * of the plugin
 *
 * @package SPMM
 */

/**
 * The Single Post Meta Manager Admin defines all functionality for the dashboard
 * of the plugin.
 *
 * This class defines the meta box used to display the post meta data and registers
 * the style sheet responsible for styling the content of the meta box.
 *
 * @since    1.0.0
 */
class Single_Post_Meta_Manager_Admin {

    /**
	 * A reference to the version of the plugin that is passed to this class from the caller.
	 *
	 * @access private
	 * @var    string    $version    The current version of the plugin.
	 */
	private $version;

	/**
	 * Initializes this class and stores the current version of this plugin.
	 *
	 * @param    string    $version    The current version of this plugin.
	 */
	public function __construct( $version ) {
		$this->version = $version;
	}

	/**
	 * Enqueues the style sheet responsible for styling the contents of this
	 * meta box.
	 */
	public function enqueue_styles() {

		wp_enqueue_style(
			'single-post-meta-manager-admin',
			plugin_dir_url( __FILE__ ) . 'css/single-post-meta-manager-admin.css',
			array(),
			$this->version,
			FALSE
		);

	}

	/**
	 * Registers the meta box that will be used to display all of the post meta data
	 * associated with the current post.
	 */
	public function add_meta_box() {

		add_meta_box(
			'single-post-meta-manager-admin',
			'Single Post Meta Manager',
			array( $this, 'render_meta_box' ),
			'post',
			'normal',
			'core'
		);

	}

	/**
	 * Requires the file that is used to display the user interface of the post meta box.
	 */
	public function render_meta_box() {
		require_once plugin_dir_path( __FILE__ ) . 'partials/single-post-meta-manager.php';
	}

}

请注意,上面的类只有很少的功能细节。主要是,该类维护对插件版本的引用、用于设置元框样式的样式表以及实际渲染元框所需的函数。

回想一下,所有这些都是在核心插件文件和加载器中设置的。这有助于解耦插件中存在的逻辑,以便每个类都可以专注于其主要目的。

当然,插件的最后一部分依赖于包含显示元框所需标记的实际部分文件。

单个帖子元管理器部分

<?php
/**
 * Displays the user interface for the Single Post Meta Manager meta box.
 *
 * This is a partial template that is included by the Single Post Meta Manager
 * Admin class that is used to display all of the information that is related
 * to the post meta data for the given post.
 *
 * @package    SPMM
 */
?>
<div id="single-post-meta-manager">

    <?php $post_meta = get_post_meta( get_the_ID() ); ?>
	<table id="single-post-meta-manager-data">
	<?php foreach ( $post_meta as $post_meta_key => $post_meta_value ) { ?>
		<tr>
			<td class="key"><?php echo $post_meta_key; ?></td>
			<td class="value"><?php print_r( $post_meta_value[0] ); ?></td>
		</tr>
	<?php } ?>
	</table>

</div><!-- #single-post-meta-manager -->

这应该是相对不言自明的;但是,为了完整起见,请注意此文件获取当前帖子 ID(通过使用 get_the_ID() 函数),读取帖子元数据,然后迭代它构建一个表显示键和值。

完成插件

至此,我们已经完成了插件的实现。从实施面向对象的编程实践,到记录代码。

您可以在 GitHub 上获取该插件的最终版本;但是,我们将在更多帖子中继续进行面向对象的讨论,以便我们可以探索一些更高级的主题,例如继承、抽象和其他主题。

同时,如果您对该插件有疑问或意见,请随时在评论中留下!

以上がWordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング IIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。Apr 17, 2025 am 12:22 AM

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

See all articles

ホット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

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター