|
@@ -168,8 +168,8 @@ function reboot($afterSeconds){
|
|
|
|
|
|
```php
|
|
|
/**
|
|
|
- * @param double $value Value to calculate square root of it
|
|
|
- * @return double|NAN Square root or NAN if $value less than zero
|
|
|
+ * @param float $value Value to calculate square root of it
|
|
|
+ * @return float|null Square root or NAN if $value less than zero
|
|
|
*/
|
|
|
|
|
|
function sqrt($value){
|
|
@@ -177,4 +177,60 @@ function sqrt($value){
|
|
|
}
|
|
|
```
|
|
|
|
|
|
+### Типы данных
|
|
|
+
|
|
|
+
|
|
|
+Для указания типов в `@param`, `@return`, `@global` используется следующий синтаксис:
|
|
|
+
|
|
|
+- `string`
|
|
|
+- `int` или `integer`
|
|
|
+- `float`
|
|
|
+- `boot` или `boolean`
|
|
|
+- `array`
|
|
|
+- `resource`
|
|
|
+- `null`
|
|
|
+- `callable`
|
|
|
+
|
|
|
+#### Более сложные случаи
|
|
|
+
|
|
|
+В силу динамической сущности **PHP**, некоторые значения не относятся к типу **PHP**, а относятся к более общим случаям:
|
|
|
+
|
|
|
+- `mixed` неизвестный тип, например в функциях, результат которых зависит от типов данных параметров
|
|
|
+- `void`. Обычно применяется для `@return`, если функция ничего не возвращает;
|
|
|
+- `object`.
|
|
|
+- `false` или `true`. Обычно используется в функциях, которые возвращают `false` и какое-то значение в других случаях (которое интерпретируется как `true`, но это вовсе не обязательно тип `bool`)
|
|
|
+- `self` - объект того же типа, что и вызыван
|
|
|
+- `static`
|
|
|
+- `$this` - используется для указания на `chaining`.
|
|
|
+
|
|
|
+#### Массивы
|
|
|
+
|
|
|
+Обычно указываются с помощью `[]` после типов/ключевых слов выше:
|
|
|
+
|
|
|
+```php
|
|
|
+/**
|
|
|
+ * array_map
|
|
|
+ *
|
|
|
+ * @param callable $callback
|
|
|
+ * @param mixed[] $array
|
|
|
+ * @return mixed[]
|
|
|
+ */
|
|
|
+function array_map($callback, $array){
|
|
|
+
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+#### Несколько типов
|
|
|
+
|
|
|
+Объединяются через трубу ('палку', 'или'):
|
|
|
+
|
|
|
+```php
|
|
|
+/**
|
|
|
+ * @return string|null
|
|
|
+ */
|
|
|
+```
|
|
|
+
|
|
|
+### `@global`
|
|
|
+
|
|
|
+Используется для указания, что переменная не просто переменная, а используется в тех или иных функциях как глобальная. Предупреждает о возможных побочных эффектах.
|
|
|
|