当我编写代码时,PhpStorm 将定义的属性标记为@property-read只读,并显示错误。
通常我会说:良好的行为。
但现在我正在编写单元测试,一些测试实际上是在测试该属性是否真的是只读的。为此,我需要在测试中设置属性(并期望出现异常)。
一切都工作正常,但在到处显示错误的 IDE 中进行开发并不是那么好,尽管在这种情况下是有意的。
有没有办法禁用特定文件夹(测试文件夹)的只读检查?或者,如果这是不可能的,是否有办法禁用只读检查?
不管怎样:我在设置屏幕中找不到它。
在我正在创建的应用程序中,我需要将未知数量的参数传递给类的未知构造函数.类(+ namespace)是一个字符串,在$ class中.参数在一个数组中.
这个应用程序将在几个月内部署,所以我们认为我们可以在PHP 5.6中开发它.所以我认为这个解决方案是:
$instance = new $class(...$args);
Run Code Online (Sandbox Code Playgroud)
这工作......
但我的同事不想接受这个,因为CI服务器不理解这行代码.他们的解决方案是:
$reflect = new \ReflectionClass($class);
$instance = $reflect->newInstanceArgs($args)
Run Code Online (Sandbox Code Playgroud)
现在:两者都工作正常,所以这不是问题.但我的想法是,反射比其他方式慢(如PHP 5.6 splat运算符).
还有一个问题:反射是一种好方法,我应该从CI服务器理解该行的那一刻开始使用splat运算符吗?
目前我有一个联系表格,但我需要在发送成功后隐藏表单.当'succes'消息运行时,我正在考虑点击javascript调用,但我不知道该怎么做.
如何隐藏表单,但如果已完成,请保留成功消息?
提前致谢!
<?php
//response generation function
$response = "";
//function to generate response
function my_contact_form_generate_response($type, $message){
global $response;
if($type == "success") $response = "<div class='success'>{$message}</div>";
else $response = "<div class='error'>{$message}</div>";
}
//response messages
$not_human = "<div class='alert alert-danger'>Verificatie incorrect.</div>";
$missing_content = "<div class='alert alert-danger'>U heeft niet alle verplichte velden ingevuld</div>";
$email_invalid = "<div class='alert alert-danger'>Incorrect e-mail adres.</div>";
$message_unsent = "<div class='alert alert-danger'>Bericht niet verzonden. Probeer opnieuw.</div>";
$message_sent = "<div class='alert alert-success'>Bedankt, wij nemen binnenkort contact met u op</div>";
//user …Run Code Online (Sandbox Code Playgroud)