मेरे पास एक ऑब्जेक्ट "उपयोगकर्ता" है जिसमें गुण हैं जिनकी अभिगम्यता को संरक्षित घोषित किया गया है लेकिन जिसे सीधे जादू __set-method के माध्यम से सेट किया जा सकता है।कार्यान्वयन विवरण के बारे में PhpStorm कैसे बताना है? (जादू विधियों)
अब PhpStorm संकेत सही पक्ष पर एक बड़ा लाल स्तंभ के साथ यह स्पष्ट विसंगति।
क्या PhpStorm को समझाया जा रहा है कि क्या चल रहा है, इसलिए यह अब एक त्रुटि के रूप में नहीं दिखाया गया है?
संपादित करें:
मैं उपयोग PhpStorm 2.1.4
यहाँ ठीक कुछ कोड है कि एलेक्सी से अब तक सुझाव दिया समाधान का जो दुर्भाग्य से ऐसा नहीं करता है के साथ एक साथ मुद्दा (एक मिसाल है यह मेरे लिए):
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}; }
}
test.php
<?php
require "c.php";
$c1 = new c1();
var_dump($c1->a);
$c2 = new c2();
var_dump($c2->a);
और आउटपुट:
string 'c1' (length=2)
string 'c2' (length=2)
और यह कैसे PhpStorm में तरह दिखता है:
मेरा लक्ष्य:
या तो होने PhpStorm डिजाइन "समझ" या बस हो रही हर जगह है, जबकि इस मुद्दे से अलग त्रुटि का पता लगाने आई नहीं उन कष्टप्रद लाल निशान से छुटकारा।
कामकाज नहीं बदलता है कि PHPStorm पहुंच को दोषपूर्ण के रूप में समझता है। – Raffael
अच्छा, मैंने पूरा उदाहरण जोड़ा। और मैं आईडीई में इन चेकों के डेवलपर हूं। यदि यह आपके लिए काम नहीं करता है - हमारे ट्रैकर पर जाएं और पुन: उत्पन्न करने के लिए अपना कोड प्रदान करें। –
यह अब PHPStorm 3 के लिए काम कर रहा है :) – Raffael