mirror of
https://github.com/danog/psalm.git
synced 2024-11-27 04:45:20 +01:00
39 lines
506 B
Markdown
39 lines
506 B
Markdown
# MixedAssignment
|
||
|
||
Emitted when assigning an unannotated variable to a value for which Psalm
|
||
cannot infer a type more specific than `mixed`.
|
||
|
||
```php
|
||
<?php
|
||
|
||
$a = $GLOBALS['foo'];
|
||
```
|
||
|
||
## How to fix
|
||
|
||
The above example can be fixed in a few ways – by adding an `assert` call:
|
||
|
||
```php
|
||
<?php
|
||
|
||
$a = $GLOBALS['foo'];
|
||
assert(is_string($a));
|
||
```
|
||
|
||
or by adding an explicit cast:
|
||
|
||
```php
|
||
<?php
|
||
|
||
$a = (string) $GLOBALS['foo'];
|
||
```
|
||
|
||
or by adding a docblock
|
||
|
||
```php
|
||
<?php
|
||
|
||
/** @var string */
|
||
$a = $GLOBALS['foo'];
|
||
```
|