PHP中,你不能“强制”一个方法来返回任何东西 – 即使使用抽象类/方法,也不可能使用接口.

您可以做的最好的事情是表明实现应该返回一些内容,使用注释 – 但您不能强迫人们这样做:

/**

* @param string $a blah blah

* @return int The return value blah blah

*/

public function my_method($a);

当然,如果从框架中调用此方法(实现),则可以检查返回的内容,如果不符合预期,则抛出异常…

这是一个如何实现的简单示例:

class ClassA {

/**

* @param string $a blah blah

* @return ClassB The return value blah blah

*/

public function my_method($a) {

echo 'blah';

}

}

class ClassB {

// ...

}

$a = new ClassA();

$returned = $a->my_method(10);

if (!$returned instanceof ClassB) {

throw new Exception("Should have returned an instance of ClassB !");

}

这里,由于该方法不返回ClassB的实例,因此将抛出异常.

php 强制返回,php – 我可以强制抽象类的方法返回一些东西吗?相关推荐

  1. java泛型函数 返回值_java 泛型(类)方法返回值为什么是 Object??

    我认知中,java 虚拟机是不认识泛型类或泛型方法的,所以在编译成字节码的时候,所有的泛型类或泛型方法,都会被转换成普通的类或方法. 例如: // 泛型类 class Test { public T ...

  2. sendrequest ajax数据返回,jquery ajax 还没有调用send()方法 返回的状态码XMLHttpRequest.status 是0 ,怎么解决?...

    jquery ajax 还没有调用send()方法 返回的状态码XMLHttpRequest.status 是0 ,怎么解决?0 嗲女错cbn2013.04.29浏览451次分享举报 function ...

  3. java 返回布尔值_如何使用Java方法返回的布尔值?

    我有一个方法,发送一堆字符到另一个方法,如果某些字符存在,将返回true或false.一旦这个方法评估所有的字符,并为每个字符返回true或false,我如何在另一个方法中使用这些true或false ...

  4. php获取控制器返回,从php中的mvc控制器方法返回一个json值

    我想从mvc控制器方法获取json类型值.一切都是正确的但是出现错误'. 我的jquery ajax函数: function user_login(uname,pass){ $.ajax({ url: ...

  5. java返回两个string_java – 为什么String.intern()方法返回两个不同的结果?

    我有这样的代码: public static void main(String[] args) { String str1 = new StringBuilder("计算机").a ...

  6. jsp中接收java的返回值_jsp中request的一些方法返回值

    在页面上打印如下内容,通过服务器本地和客户端异地调用的结果如下 String url111 = request.getRequestURI(); System.out.println("ur ...

  7. .net mvc actionresult 返回字符串_072-SpringMVC后端控制器接收参数、处理器方法返回值类型、拦截器、文件上传下载...

    1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? 在springmvc中配置 (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...

  8. 《解决微信内置浏览器返回上一页强制刷新问题方法》

    <解决微信内置浏览器返回上一页强制刷新问题方法> 参考文章: (1)<解决微信内置浏览器返回上一页强制刷新问题方法> (2)https://www.cnblogs.com/li ...

  9. maven 强制更新_Android App内部更新Library的方法

    超详细!安卓巴士开发者大会嘉宾及主题介绍 AutoUpdateProject 最新版本及说明请关注GitHub,欢迎Star. 有什么意见与建议欢迎交流! github地址: https://gith ...

最新文章

  1. 视觉计算理论简介【转】
  2. 【C++】静态成员 static
  3. android ConcurrentHashMap的使用
  4. Python基础之:Python中的流程控制
  5. P7116-[NOIP2020]微信步数【数学】
  6. 通过configSource提高web.config配置灵活性
  7. matlab实现id3,MATLAB简单实现ID3
  8. html实现平面地图效果,HTML5 光点组成的平面和立体世界地图
  9. Javascript 时间操作汇总
  10. 返回的图片 buffer 怎么接收_图片裁剪原理
  11. HDU1880 魔咒词典【文本处理】
  12. 读《scikiit-learn机器学习》黄永昌第五章
  13. SPF(最短路径树)算法
  14. linux集群pbs管理,PBS-Torque集群部署
  15. 【Paper Reading】Improving Availability of Vertical Federated Learning Relaxing Inference on Non-overl
  16. python百度unit_Python——在调用Baidu的unit接口时,如何设置意向置信度,使其始终返回第一个say,实现,百度,UNIT,意图,总是...
  17. c语言方程没有解,【C语言】一元二次方程的解
  18. Xcode真机测试(无需开发者账号)
  19. 小程序公众号的微信支付0.2%费率商户号是怎么降低的?
  20. ipynb转换为python文件

热门文章

  1. 论文浅尝 | 打通推荐系统与知识图谱: 第一个公开的大规模链接数据集合
  2. 1.1 字符串的旋转+1.2 字符串的包含
  3. 2020年跨行业跨领域工业互联网平台
  4. 【LeetCode】3月31日打卡-Day16-数组排序算法汇总
  5. CS224n学习笔记1-nlp介绍和词向量
  6. 如何阻止button默认的刷新页面操作
  7. python学习随笔day3
  8. volatile关键字及编译器指令乱序总结
  9. 在Windows 7解决GAC错误
  10. linux的常用操作——压缩和解压缩