草庐IT

private_function

全部标签

PhpUnit 模拟 : function undefined

我正在为我的View助手编写一些测试。这是我第一次想用模拟对象做点什么。我正在使用默认的PHPUnit模拟框架。我已经编写了一个函数来准备我的模拟对象:privatefunctiongetTestStub(){$mockResult=array();$mock=$this->getMock('My\Entity\Product');$mock->expects($this->once())->method('getId')->will($this->returnValue(1));$mock->expects($this->once())->method('getName')->wil

php - register_shutdown_function 将引用转换为值?

我正在尝试使用一个关闭函数,该函数使用注册后动态更改的值。我的理解是,通过引用传递变量将允许代码后面部分的更改影响关闭调用。下面的代码证明情况并非如此:我是不是误解了应该怎么做?将引用传递转换为值传递是注册函数的预期行为吗?PHP版本5.5.9 最佳答案 一种可能的解决方案是使用匿名函数(在本例中是一个闭包,捕获了$x作为引用):$x=0;$shutdown=function()use(&$x){echo$x;};register_shutdown_function($shutdown);$x=1;exit();演示:http://

php - Laravel 从私有(private)方法重定向错误

我有以下代码:publicfunctionstore(Request$request){$this->validateData($request->all());//storesomethingreturnredirect()->action('controller@index')->withMessage('SavedSuccessfully');}privatefunctionvalidateData($requestParams){try{$validator->validate($requestParams);}catch(ValidationException$e){redi

php - 为什么变量应该有 public 或 private 或 protect 但函数不应该在类中

我知道为什么我不能在没有任何东西的情况下在类中定义变量吗?(公共(public)、私有(private)、保护)为什么这有语法错误?classmyclass{$var='anythig';}但这没关系:classmyclass{functiontest(){//codehere}}最后,为什么我可以定义一个没有任何功能的var?classmyclass{functiontest(){$var='anything';//ithasnotanythig(public,privare,protect)}} 最佳答案 当你使用任何编程语言时

php - 通过 HTTPS 使用具有私有(private) GitHub 存储库的 Composer

我们有许多私有(private)存储库,我们希望将它们包含在使用Composer的PHP应用程序中。composer.json文件包含定义我们第一个私有(private)存储库的条目:"repositories":[{"type":"vcs","url":"https://github.com/vendor/package.git"}]然后我们像往常一样需要存储库:"require":{"vendor/package":"~1.0.0"}我唯一做的额外事情是在GitHub上设置一个私有(private)访问token并将其存储在composersauth.json文件中。看起来像:{"

php - 在functions.php中定义变量并在Wordpress中的函数钩子(Hook)中访问它们

我试图更详细地理解wordpress的结构。按照我的建议,使用global关键字不是一个好主意。以下是我要完成的任务:内部函数.php$affID='12334';//definingavariableadd_shortcode('affiliate_link',function(){$newLink='https://example.com?id='.$affID;return$newLink;}当我运行这个缺点时,我只得到它的https://example.com?id=部分。当然,我可以将$affID作为参数传递,但是我想建立一个在不同函数中使用的变量的大列表,我认为传递这么大的

php - 为什么 child 可以覆盖并访问其父私有(private)方法?

我习惯于将方法作为protected放在我的PHP类中。但是玩private我开始怀疑了。我知道它可能是重复的,但我无法从我读过的SO-answers中找到清晰的答案。检查了documentation和SOanswers但我的测试仍然与那里所说的不一致(见下文)。尤其是在PHP上下文中扩展相同类型类时,public和private方法之间的那种“纠结”并不经常被解释。例如:ab();}publicfunctionaccessprivate($obj){$obj->ab();}}classBextendsA{publicfunctionab(){echo'overridden-publi

c# - C# 中的 PHP function_exists/class_exists 等价物

我正在asp.net/c#中寻找这两个函数的替代方法。if(function_exists('foo')){$returned=foo($bar);}if(class_exists('foo')){$fooclass=newfoo($bar);} 最佳答案 Assemblyassembly=Assembly.LoadFile("assemblyAddress");boolcontainClass=assembly.GetTypes().Where(x=>x.Name=="ClassName").Count()>0;boolconta

php - 在析构函数中使私有(private)变量为空有什么意义?

我在我正在使用的代码中发现了以下模式:在析构函数的某些类中,我发现私有(private)变量被清空,例如:publicfunction__destruct(){foreach($this->observersas$observer){$observer=null;}$this->db_build=null;}当PHP有GC时,这样做有什么意义吗?它会以某种方式提高脚本的性能吗? 最佳答案 有时只是为了清洁模因。但是在您的示例中,$observer和->$db_build都引用了子对象。所以这里的目的是在当前对象的销毁完成之前销毁它们

php - Symfony2 : Unable to simulate HTTP authentication in functional test

我正在尝试使用symfony.com上描述的以下技术:http://symfony.com/doc/current/cookbook/testing/http_authentication.html试图对需要用户登录的Controller进行功能测试。到目前为止,我的登录表单正在运行,我可以登录,并且Symfony2调试Web工具栏显示我的用户已通过身份验证。另外,我已经为登录过程本身编写了一个功能测试,这通过了。所以我现在有两种情况,我的登录是有效的。我遇到的唯一问题是,在尝试为其他Controller模拟HTTP身份验证时:$client=static::createClient(