PHPのアノテーションの仕組みとメリット・デメリット / About PHP annotations

PHPのアノテーションの仕組みとメリット・デメリット / About PHP annotations

2020年2月9日、PHPerKaigi 2020・Day 0での発表資料です。
https://phperkaigi.jp/2020/

325afd2c9db540c83485f509f2845acb?s=128

Hiroyuki Yamaoka

February 09, 2020
Tweet

Transcript

  1. 4.

    PHP

  2. 6.
  3. 7.
  4. 8.
  5. 9.

    PHP /** * @param string $input * @param int $expectedLength

    * @testWith ["test", 4]["longer-string", 13] */ public function testStringLength(string $input, int $expectedLength): void { $this->assertEquals($expectedLength, \strlen($input)); }
  6. 10.
  7. 11.
  8. 12.

    Java : Javadoc /** * αϯϓϧΫϥε * @author Hiroyuki YAMAOKA

    * @version 1.0 */ public class Sample { /** * @param width ෯ * @param height ߴ͞ */ public void setSize(int width, int height) { } }
  9. 15.

    : Servlet @WebServlet(urlPatterns = {"/hello"}) public class HelloServlet extends HttpServlet

    { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ॲཧΛॻ͘… } }
  10. 16.

    :

  11. 18.

    PHP

  12. 20.

    : PHPDoc /** * ച্ֹΛܭࢉ͢Δɻ * * @param int $price

    ୯Ձ * @param int $unit ചΕͨݸ਺ * @return int ച্ֹ */ public function int calcSales(int $price, int $unit): int {
  13. 21.

    : PSR- & - PSR- PHPDoc Standard (DRAFT) https://github.com/php- g/

    g-standards/blob/master/proposed/phpdoc.md - PSR- PHPDoc tags (DRAFT) https://github.com/php- g/ g-standards/blob/master/proposed/phpdoc-tags.md
  14. 22.

    PSR- & - 2018 PHPDoc PSR- - Qiita https://qiita.com/tadsan/items/ b

    d ca d - PSR- : PHPDoc tags - BASE https://devblog.thebase.in/entry/ / / /
  15. 31.

    PHP - Re ection API https://www.php.net/manual/ja/book.re ection.php - Re ectionClass::getDocComment

    - - : Doctrine/annotations https://github.com/doctrine/annotations
  16. 34.
  17. 36.
  18. 38.
  19. 39.