Ver código fonte

phpdoc alpha

Ivan Asmer 8 anos atrás
pai
commit
e35da8c913
1 arquivos alterados com 58 adições e 2 exclusões
  1. 58 2
      phpdoc.md

+ 58 - 2
phpdoc.md

@@ -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`
+
+Используется для указания, что переменная не просто переменная, а используется в тех или иных функциях как глобальная. Предупреждает о возможных побочных эффектах.