問題タブ [docblocks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - $this 変数のクラスで docblock ヒントを使用するにはどうすればよいですか?
IDE として NetBeans を使用しています。別の関数 (通常はファクトリ) を使用してオブジェクトを返すコードがある場合は、通常、次のようにしてヒントを得ることができます。
ただし、オブジェクトのプロパティを使用してそのクラスを格納する場合、同じことを行う方法が少しわかりtrying to use @var $this->foo or @var foo
ません。ヒントが伝わらないからです。
クラスのdocblockで試したり、上記のインラインコメントを使用しprotected $foo
たり、インスタンスにfooが設定されている場所を試したりしました。
これまでに見つけた唯一の回避策は次のとおりです。
$this->foo
ただし、他の多くの関数が を使用する可能性があり、クラスのメソッドとプロパティを知っていると役立つため、ヒントをクラス全体に適用したいと思います。
確かにもっと簡単な方法があります...
php - @param varname を PHP docblock に含めることはまだ適切ですか?
ウィキペディアによると、 @param
docblock パラメータtype [$varname] description
の形式$varname
はオプションです。これは、次のように述べている phpDocumentor プロジェクトによって裏付けられているようです。
注: 0.4.1 以降、@param は、オプションの $paramname を使用して phpdoc.de-style を文書化できます。
では、$paramname を含めるのは適切な形式でしょうか、それとも省略すべきでしょうか?
php - PHP 動的ページレベル DocBlock
ページ レベルの DocBlocks と対話する方法があるかどうか疑問に思っていました。私の質問はより具体的にはワードプレスのプラグイン開発に関するものですが、この質問はワードプレス以外の環境でも発生しています。
その理由は主に、おそらく一定の定義を使用して、大規模なプロジェクト全体でバージョンと名前を簡単に変更できる可能性があるためですが、それはドキュメントブロックにも反映されます..
次のDocblockの例は、私が書いたwordpressプラグインからのものです -
それをに変換する方法はありますか:
明らかにエコーが機能するには、docblock自体を壊す必要があり、docblockをそれ自身のファイルに直接書き込むことはできません。
要するに、何とかphp自体でdocblockを「生成」できますか(答えは-ページ自体には「いいえ」だと思います..しかし、おそらく私は間違っていて、誰かがきちんとしたハックを持っています:-))
それは可能ですか?
php - @staticのような冗長なphpdocblockタグのポイントは何ですか?
PhpStormで自動phpdocblock生成を使用すると@static
、静的メソッドにアノテーションが付けられました。
コードから推測できる場合、これらのタグの用途はありますか?私はそれを残すか削除するかを決定しようとしています(そしてそれが一貫しているようにどこでもそうします)。
php - DocBlock クラス タイプの継承
この質問は一般的なDocBlocksに関するものですが、私のユースケースは PHP に関するものです。
次の PHP コードを検討してください。
これは、いくつかの連鎖を伴う単純なクラスです。親クラスの docblock が子クラスのメソッド/プロパティを持たない特定のクラス名を使用しているため、拡張クラスは型ヒントを失います。
タイプヒンティング機能が必要だと仮定すると (そうでない場合は、この質問を残してください - ここで無駄な引数は必要ありません)、どうすればこれを修正できますか?
私は次の可能性を思いつきました:
- PHPDoc 標準を変更して、特別なキーワードを許可する
- docblock を再宣言するためだけに親を呼び出す余分な say_hi() メソッドを追加します。
- 戻り値の型をまったく指定しないでください。IDE が何
return $this;
を意味するかを決定します (これは機能しますか?)
php - PHPの「名前空間」docblockタグ?
コメントで動作するコードを持つ多くのライブラリでこれが使用されているのを見てきました(Doctrine2の例):
コメントタグの一部が「名前空間」になっているようです。これは私が気付いていないPHP機能ですか(「use」ステートメントで機能するように見えるため)、またはこれらを使用するライブラリ内のスマートテキスト解析ですか?
私は現在、この「メタデータ」の一部を読み取らなければならない小さなクラスを開発しているので、これが言語に含まれているものであれば本当にきれいなので、醜いテキストパーサーを書く必要はありません。 。
よろしくお願いします。
php - PHPDoc 型ヒントと docblock で NULL を使用する必要があるのはいつですか?
null
PHPDoc で変数を記述するときに、いつ型としてを使用するかについて混乱しています。型のヒントは、外部の呼び出し元が予測して従うべき希望と期待を記述することになっているのでしょうか、それとも、実際には 1 つの非常に具体的な型になることを望んでいても、変数のすべての可能な型を文書化することになっているのでしょうか?
例 1: デフォルト値。次の関数は、null 以外の値のみを想定しています。ただし、値が渡されない場合は、デフォルトで、null
何かが渡されたかどうかを判断する方法として明示的にチェックし、その場合に特別な値を返します。外部呼び出し元が整数以外を渡さないことを願っています。以下のようにタイプnull
で使用する必要がありますか、それとも、何かが渡された場合に渡したいものであるため、指定する必要がありますか?@param
int
例 2: インスタンス プロパティ。$bar に整数のみを含めたいとします。つまり、bar に何も設定されていない場合、このインスタンス プロパティのデフォルトの PHP 値は null です。$bar を使用するすべての場所で、以下のように null 型の可能性があることを考慮する必要がありますか?
基本的に、技術的にはその値である可能性があるため、ほぼすべて@param
の@var
宣言を散らかしていることに気づきます。|null
しかし、実際にはそうすべきではありません。ほとんどすべての型に の可能性が含まれていることnull
を期待する必要がありますか、またはそれを想定する必要がありますnull
か?
php - PHP Docblock Type Hinting for Current Object in Magento Template?
How might I hint at what $this
is in the context of a Magento template, with a DocBlock?
As an example, head.phtml
within the template/page/html/
directory is an object of Mage_Page_Block_Html_Head
. The method I tried was:
Unfortunately, it doesn't seem my IDE (NetBeans) is picking up on the hint. So my question is if there is a correct way of doing this so that NetBeans recognizes the hint.
php - Php Docblocks @version $Id$ が NetBeans SVN プラグインで機能しない
私が取り組んでいるプロジェクトでは、SVN を使用しています。そこで、Netbeans 用の SVN プラグインをインストールしました。これは今のところうまく機能しています。
クラスやその他の php ファイルでは、@version タグ付きの docblock を使用しています。バージョンタグの $Id$ を自動入力/置換するプラグインを作成する方法を知りたいですか?
現在、Win7 と NetBeans 7.1.2 を使用しています。の下の構成ファイルに次の行を追加しました%APPDATA%\Roaming\Subversion config
。
また、次の行からコメントを削除しました。
NetBeans の再起動後、(UserPath).netbeans\7.1.2\config\svn\config の構成ファイルが以前に追加されたデータで更新されていることに気付きました。
しかし、変更したファイルをコミットすると、@version タグは更新されません。直後に $Id$ だけが残ります。私は何を間違っていますか、または何かを設定し忘れましたか?
次のようになります。