如何在PHP中创建自然字符串类
海。我在做这个简单的字符串类,想知道是否有一种更自然的方法如何在PHP中创建自然字符串类,php,string,oop,Php,String,Oop,海。我在做这个简单的字符串类,想知道是否有一种更自然的方法 class Str{ function __construct($str){ $this->value = $str; $this->length = strlen($str); .. } function __toString(){ return $this->value; } .. } 所以现在我必须这样使用
class Str{
function __construct($str){
$this->value = $str;
$this->length = strlen($str);
..
}
function __toString(){
return $this->value;
}
..
}
所以现在我必须这样使用它:
$str = new Str('hello kitty');
echo $str;
但用括号表示,这看起来不太“自然”。所以我想知道这样或类似的事情是否可能
$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??
在第二种方法中,是否有一种方法可以再次捕获变量bing集,而不是重置它,将其设置为Str::$value?我已经考虑过了,我能想到的最接近的方法是u destruct方法。但无法知道它是如何被摧毁的。这是可能的还是我在浪费时间?我不敢告诉你,这两种情况你都不走运。
$str=newstr'hellokitty'
将以致命错误结束,尽管第二个方法有效,但它不会执行您想要的操作,而是重新分配本机字符串
我可以问一下为什么你想要一个本地类型的包装器吗
因为PHP是松散类型的,所以没有自然字符串类,因为使用字符串的自然方式是,仅仅使用它们。但是,从PHP5.3开始,SPL中有一个扩展提供了强类型标量:
好的弦乐课你在浪费时间。:-)您所做的基本上是一个包装器类。Java中的一个不同之处是自动装箱(字符串被自动视为字符串),这是一种语言特性。你在这里要做的就是修改语法。是的。。这两件事我都不走运,因此我提出了这个问题。我对使我的脚本有点强类型感兴趣。。字符串应该是字符串,而不是脚本中间的整数。