jjzjj

DoSomething

全部标签

php - 使用对象作为参数与在方法中创建对象

在一次讨论中,我不确定我说的是否正确:"It'sbettertopassaroundobjectsasparametersinsteadofobjectID's."所以我想我应该在这里要求澄清。这样做的好处是什么:publicfunctiondoSomething(\Item$item){return$item->getSomething()*2;}关于这个:publicfunctiondoSomething($itemID){$item=\Item::getByID($itemID);//ReturnanitembasedonIDif($item)//Checktheobjectha

php - 具有不同返回值的函数链接?

是否可以根据上下文(如何使用返回值)让方法返回不同的值?例如,一个方法是否可以在与箭头运算符一起使用以调用另一个方法(即链接方法调用)时返回$this,但在未以这种方式使用返回值时返回标量?案例一:$result=$test->doSomething1();//returns4//$resultreturns4案例二:$result=$test->doSomething1()->doSomething2();//doSomething1()returns$this//doSomething2()returns8有没有办法执行这样的行为? 最佳答案

php - 如何在 php 中使用默认参数

我想定义一个函数doSomething(arg1,arg2),默认值为arg1=val和arg2=val当我写作时functiondoSomething($arg1="value1",$arg2="value2"){//dosomething}现在是否可以使用默认arg1和arg2="new_value2"调用doSomething 最佳答案 有时如果我有很多默认参数,我会使用一个数组来包含参数并将其与默认值合并。publicfunctiondoSomething($requiredArg,$optional=array()){$d

PHPUnit stub : default return value from map

我在PHPUnit手册中读到,对于以下示例,方法调用doSomething('a','b','c')将返回d方法调用doSomething('e','f','g')将返回h。getMockBuilder('SomeClass')->getMock();//Createamapofargumentstoreturnvalues.$map=array(array('a','b','c','d'),array('e','f','g','h'));//Configurethestub.$stub->method('doSomething')->will($this->returnValueMa

php - 多个特征同时使用相同的基本特征

好吧,假设存在以下问题:traitBase{publicfunctiondoSomething(){//Dofancystuffneededinothertraits}}traitA{useBase;publicfunctionfoo(){//Dosomething}}traitB{useBase;publicfunctionbar(){//Dosomethingelse}}现在我想实现一个同时使用特征A和B的类:classMyClass{useA,B;}PHP告诉我它不能重新定义函数doSomething()。PHP无法检测到A和B共享同一个特征并且不将其复制到MyClass中的原因

PHP 接口(interface)实现拒绝参数的子类

考虑一下:classA{}classBextendsA{}interfaceI{//expectsobjectinstanceofAfunctiondoSomething(A$a);}classCimplementsI{//fails????functiondoSomething(B$b){}}在我的概念中,上面应该工作,但它不作为php拒绝要求第一个参数与接口(interface)(I)中定义的类型(A)完全相同的实现。由于B是A的子类,所以我看不出有什么问题。我在这里遗漏了什么吗? 最佳答案 classCimplementsI意

php - 可以链接比较运算符吗?

到目前为止,我一直无法在官方PHP文档或本网站上找到此信息。所以,这可能意味着我在错误的条件下搜索,或者它不受支持。我在找什么?我会描述它...假设我在PHP中进行了以下比较:if(($a==$b)&&($b==$c))doSomething();elsedoSomethingElse();if(($dPHP是否有某种语法可以在不对两个不同比较进行显式AND操作的情况下将比较链接在一起?例如,是否可能是这样的:if($a==$b==$c)doSomething();elsedoSomethingElse();if($d请注意,我正在寻找该语言的句法速记。我知道我可以轻松地为这些链式比较

java - JMock - 具有不同参数的多个调用

我要测试的方法是用不同的参数调用模拟方法:publicvoidmethodToTest(){getMock().doSomething(1);getMock().doSomething(2);getMock().doSomething(3);}在我的单元测试中,我想知道methodToTest是否真的使用这些参数调用这些方法。这是我写的代码:@TestpublicvoidmyMockTest(){oneOf(mock).doSomething(1);oneOf(mock).doSomething(2);oneOf(mock).doSomething(3);}在(2)处,我收到“意外调用

Java GC 问题 : How could an object become unreachable while one of its methods is still being executed?

我一直在读theseslides关于Java终结器。在其中,作者描述了一个场景(在幻灯片33上),其中CleanResource.finalize()可以由终结器线程运行,而CleanResource.doSomething()仍在运行另一个线程。怎么会这样?如果doSomething()是一个非静态方法,那么要执行该方法的某个人,某个地方必须对其有强引用...对吗?那么如何在方法返回之前清除这个引用呢?另一个线程能否突然进入并清空该引用?如果发生这种情况,doSomething()是否仍会在原始线程上正常返回?这就是我真正想知道的,但是对于真的超越的答案,你可以告诉我为什么幻灯片38

java - 非静态上下文中的内部枚举

据我了解,内部枚举在Java中始终是显式或隐式静态的。这意味着我无法从内部枚举类访问实例字段。publicclassInnerEnum{privateenumSomeInnerEnum{VALUE1(){@OverridepublicvoiddoSomething(){//ERROR:WON'TCOMPILE//Cannotmakestaticreference//tonon-staticfieldiSystem.out.println(i);}},VALUE2(){@OverridepublicvoiddoSomething(){//dosomethingelsewithi}};pu