WordPress プラグイン ドキュメントの続き: オブジェクト指向プログラミング II
シリーズのこの時点で、ファイル、クラス、関数、変数などを文書化してプラグインを完成させる準備が整いました。
これは実際にプラグインを完成させる最後のステップですが、オブジェクト指向プログラミングの高度なトピックを引き続き見ていきますので、これがシリーズの最後の記事ではありません。
しかし、その前に、前の記事で学んだことをすべて実践し、プラグインをバージョン 1.0 にアップグレードしましょう。
もちろん、これまでのすべての 記事と同様に、これまでに取り上げたすべての内容を常に最新の状態に保つことをお勧めします。そうすることで、前回の記事で行ったことを完全に理解するだけでなく、どのように行うのかを理解していただくことができます。実際に、この記事で説明した最後の点に到達します。
###導入### ###コース### ###タイプ###- 制御構造: 条件文
- 制御構造: ループ
- 関数とプロパティ
- ###範囲### プラグイン I
- をビルドする プラグイン II のビルド
- レコードプラグインI
- これらすべてを理解して確認したら、各ファイルの文書化を開始しましょう。
- レコードプラグイン
- このプラグインはさまざまな方法で記録できます:
- 最初にすべてのファイル ヘッダーを記録し、次にクラスを記録し、次に変数を記録し、関数を記録します。
各ファイルを一度に記録し、各ファイルに含まれるすべてについて簡単に議論することができます。
明らかに、このオプションを選択すると、各セクションにより多くのドキュメントが生成されますが、結果として退屈な記事が減り、プラグイン全体の制御フローが理解しやすくなるはずです。
これを行うために、プラグインをファイルごとに調べ、コードの各部分のドキュメントを紹介し、コードの背後にある重要な点について説明します。
- 最後に、記事の最後でプラグインの最終バージョンを必ず参照します。それを踏まえて、始めましょう。
- シングルポストメタマネージャー
以下は、このファイルの完全に文書化されたバージョンです。各レビューを注意深く読み、その形式に従っているだけでなく、提供されている内容にも注意してください。
リーリー
上記のコードでは、前の記事で概説した規則に従ってファイル ヘッダーを定義していることに注意してください。また、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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

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

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

Phpoopでは、self ::は現在のクラスを指し、親::は親クラスを指し、静的::は後期静的結合に使用されます。 1.Self ::静的方法と一定の呼び出しに使用されますが、後期静的結合をサポートしていません。 2.Parent ::サブクラスには、親クラスのメソッドを呼び出すために使用され、プライベートメソッドにアクセスできません。 3.Static ::継承と多型に適した後期静的結合をサポートしますが、コードの読みやすさに影響を与える可能性があります。
