封装函数报错

来源:2-1 文件常用操作函数封装

www974

2017-09-01 11:38:09

<?php
     //创建文件
     function create_file(string $filename){
       //检测文件是否存在
       if(file_exists($filename)){
         //如果文件存在不需要创建文件
          return false;
       }
       //检测目录是否存在
       if(!file_exists(dirname($filename))){
         mkdir(dirname($filename),0777,true);
       }

       if(touch($filename)){
         return true;
       }
       return false;
     }

   //   var_dump(create_file('test.txt'));
   create_file('text.txt');

?>


报错内容:

Catchable fatal error: Argument 1 passed to create_file() must be an instance of string, string given, called in C:\wamp\www\file2\demo1.php on line 21 and defined in C:\wamp\www\file2\demo1.php on line 3

写回答

2回答

imooc_澈

2017-09-01

您好,是PHP版本的问题,出现该错误提示是因为您的php版本不支持函数参数类型声明,它将string当成了一个类名,要求传一个相应的实例,而老师使用的是PHP7,支持参数的string类型声明。如果解决了您的问题,请采纳,祝学习愉快~

0
hww974
h 谢谢。改成PHP7 确实可以了。 我只自学了三四天php,原谅我问的都是基础问题
h017-09-02
共1条回复

www974

提问者

2017-09-01

把函数参数去掉string 就好了 ,当老师的代码有string 啊? 这又是为什么

0
hmooc_澈
h 您好,老师课程中使用的是PHP7,7支持这种类型声明哦~
h017-09-03
共1条回复

0 学习 · 2569 问题

查看课程