PHP массив и схема JSON - PullRequest
0 голосов
/ 06 марта 2019

Много раз у меня был такой сценарий в php, где у меня есть структура данных, но с ней трудно работать, потому что PHP doc не может справиться с этим.

<?php
/** @var (??) $contact */
$contact = array(
  "firstName" => "John",
  "lastName" => "doe",
  "age" => 26,
  "address" => array(
    "streetAddress" => "naist street",
    "city" => "Nara",
    "postalCode" => "630-0192"
  ),
  "phoneNumbers": [
    array(
      "type"  : "mobile",
      "number": "333 444 5566"
    ), array(
      "type"  : "home",
      "number": "333 222 1100"
    )
  ]
}

Возможно, PHPDoc справится с этим, и я просто не знаю как. Но, по крайней мере, JSON Schema звучит как отличный выбор для документирования подобных структур, и объекты JSON всегда можно отобразить в пропорции 1: 1 в php-массивы, поэтому возникает вопрос:

Есть ли способ документировать структуру данных в IDE, например, PhpStorm, таким образом, чтобы я мог получить правильную справку по типу при наборе чего-то подобного?:

$contact["phoneNumbers"][0]["type"]

Ничего страшного, если решение не с JSON Schema, было бы достаточно PHP doc, если бы оно могло настолько углубиться в структуру.

Да, и создание class Contact {} и class PhoneNumber {} неосуществимо, потому что структура не так проста, как та, о которой я упоминал здесь, и было бы излишним писать все эти классы только для подсказок типов.

Заранее спасибо за помощь!

Схема JSON: https://json -schema.org / Learn / Getting-Step-by-step.html

...