加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

hacklang – 常见的php函数在hack中

发布时间:2020-12-13 17:55:13 所属栏目:PHP教程 来源:网络整理
导读:我决定开始一个新项目进入hacklang,并在修复了一些问题之后我最初遇到了从php习惯过渡的问题,我遇到了以下错误: Unbound name: str_replaceUnbound name: empty 做了一些研究我发现这是因为使用了’遗留’的php而不是类型检查,并且//严格会出错. 这很好,所
我决定开始一个新项目进入hacklang,并在修复了一些问题之后我最初遇到了从php习惯过渡的问题,我遇到了以下错误:
Unbound name: str_replace
Unbound name: empty

做了一些研究我发现这是因为使用了’遗留’的php而不是类型检查,并且//严格会出错.

这很好,所有,empty()很容易替换,但str_replace()有点困难.

是否有一个与// strict一起使用的等效函数?或至少类似的东西.

我知道我可以使用// decl,但我觉得这样就违背了我的目的.

是否至少有任何方法可以判断哪些函数在hack中实现,哪些不在文档中,因为我找不到?

作为参考(虽然它与问题本身不太相关),这里是代码:

<?hh //strict
class HackMarkdown {
    public function parse(string $content) : string {
        if($content===null){ 
            throw new RuntimeException('Empty Content');
        }
        $prepared = $this->prepare($content);

    }
    private function prepare(string $contentpre) : Vector<string>{
        $contentpre = str_replace(array("rn","r"),"n",$contentpre);

        //probably need more in here
        $prepared = Vector::fromArray(explode($contentpre,"n"));
        //and here
        return $prepared;
    }
}
您根本不需要更改代码.您只需要告诉Hack工具所有内置的PHP函数.

最简单的方法是下载this folder并将其放在项目中的某个位置.我把它放在我项目基础的hhi文件夹中.那里的文件告诉Hack所有内置的PHP函数.

他们中的大多数都没有类型提示,这可能导致Hack认为所有内容的返回类型都是混合而不是实际返回,这在大多数情况下实际上是正确的,例如,str_replace可以返回字符串或bool .但是,它确实会停止“未绑定名称”错误,这是添加它们的主要原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读