Tengo un objeto "Usuario" que tiene atributos cuya accesibilidad está declarada como protegida pero que se puede establecer directamente a través de un mágico método __set.¿Cómo decirle a PhpStorm sobre los detalles de implementación? (métodos mágicos)
señales Ahora PhpStorm esta aparente incompatibilidad con una gran columna de color rojo en el lado derecho.
¿Es posible explicarle a PhpStorm qué está pasando para que esto no se muestre como un error más?
EDIT:
utilizo PhpStorm 2.1.4
bien aquí es un código que ejemplifica el tema (junto con la solución hasta el momento sugerido de Alexey, que por desgracia no hace para mí):
c.php:
<?php
/**
* @property mixed $a
*/
class c1
{
protected $a;
public function __construct() { $this->a = __CLASS__; }
public function __get($n) { return $this->{$n}; }
}
/**
* @property $a mixed
*/
class c2
{
protected $a;
public function __construct() { $this->a = __CLASS__; }
public function __get($n) { return $this->{$n}; }
}
prueba.php
<?php
require "c.php";
$c1 = new c1();
var_dump($c1->a);
$c2 = new c2();
var_dump($c2->a);
y la salida:
string 'c1' (length=2)
string 'c2' (length=2)
y cómo se ve como en PhpStorm:
mi objetivo:
o bien tener PhpStorm "comprender" el diseño o simplemente deshacerse de esas molestas marcas rojas en todas partes, mientras que no afecte a la detección de errores, aparte de este problema.
la solución alternativa no cambia que PHPStorm interprete el acceso como defectuoso. – Raffael
Bueno, agregué un ejemplo completo. Y soy el desarrollador de estos controles en IDE. Si no funciona para usted, vaya a nuestro rastreador y proporcione su código para reproducir. –
Esto ahora está funcionando para PHPStorm 3 :) – Raffael