PHP7-\uuuToString(或其他接口)返回类的布尔表示

PHP7-\uuuToString(或其他接口)返回类的布尔表示,php,types,php-7,Php,Types,Php 7,我要问两个问题,因为我很确定第一个问题的答案是“不,你不能”或者一个派生词 \uuu toString()让我们告诉PHP在假定字符串的情况下如何处理实例(例如print())。我还没有找到布尔函数的这种能力(例如,if($instance){})。有这样的东西吗?甚至像ArrayAccess这样的接口 如果没有,如何向PHP提交请求——尽管对PHP内部或C了解不够,无法提出实现它的方法?(因此,可能不是完整的RFC。) 希望更清楚地说: class-MyClass { 公共函数 { 返回“你好

我要问两个问题,因为我很确定第一个问题的答案是“不,你不能”或者一个派生词

  • \uuu toString()
    让我们告诉PHP在假定字符串的情况下如何处理实例(例如
    print()
    )。我还没有找到布尔函数的这种能力(例如,
    if($instance){}
    )。有这样的东西吗?甚至像
    ArrayAccess
    这样的接口
  • 如果没有,如何向PHP提交请求——尽管对PHP内部或C了解不够,无法提出实现它的方法?(因此,可能不是完整的RFC。)
  • 希望更清楚地说:

    class-MyClass
    {
    公共函数
    {
    返回“你好,世界!”;
    }
    //我很确定的是,愿望不存在,
    //即使是通过一个接口,而不是一个神奇的方法。
    公共功能
    {
    返回false;
    }
    }
    $instance=newmyclass();
    打印$instance;//你好,世界!
    如果($实例){
    打印“有效实例始终为真”;
    }
    $cast=(bool)$instance;
    打印($cast)?“真”:“假”;//应该是假的。但这是真的
    
    主要问题不是如何将布尔值转换为字符串。相反,最好将其表述为如何告诉PHP在将我的类的实例强制转换为
    bool
    (?)时应该做什么


    [更新]:查看并讨论RFC-

    echo$foo?“真’:‘假’没有删掉它吗?嘿@Phil-我不同意这个结论,我已经补充了这个问题。谢谢你的链接。@ceejayoz-见问题的澄清。“我希望这不会增加混乱。”我明白了。重新打开
    echo$foo?“真’:‘假’没有删掉它吗?嘿@Phil-我不同意这个结论,我已经补充了这个问题。谢谢你的链接。@ceejayoz-见问题的澄清。“我希望这不会增加混乱。”我明白了。重新打开