Hai. Ich machte diese einfache String-Klasse und fragte mich, ob es einen natürlicheren Weg gab.Wie man eine natürliche String-Klasse in PHP
class Str{
function __construct($str){
$this->value = $str;
$this->length = strlen($str);
..
}
function __toString(){
return $this->value;
}
..
}
so jetzt muss ich es wie folgt verwendet werden:
$str = new Str('hello kitty');
echo $str;
Aber das sieht nicht sehr ‚natürlich‘ mit den Klammern. Also habe ich mich gefragt, ob sowas oder ähnliches möglich ist.
$str = new Str 'hello kitty'; # I dont believe this is possible although this is preferred.
$str = new Str; # get rid of the construct param.
$str = 'value here'; #instead of resetting, set 'value here' to Str::$value??
In dem zweiten Verfahren gibt es eine Weise, die ich möglicherweise diese Variable bing wieder gesetzt fangen konnte und stattdessen es von Reseting, setzen Sie sich auf Str :: Wert $? Ich habe nachgedacht und das nächste, was ich erreichen konnte, ist die Destruction-Methode. aber es gab keine Möglichkeit zu wissen, wie es zerstört wurde. Ist das möglich oder verschwende ich meine Zeit?
Sie Ihre Zeit verschwenden. :-) –
Was Sie tun, ist im Grunde eine Wrapper-Klasse.Ein Unterschied, den Sie in Java finden, ist Autoboxing (eine Zeichenkette, die automatisch als Zeichenkette betrachtet wird) und das ist eine Sprachfunktion. Was Sie hier versuchen, ist die Änderung der Syntax. –