rspec/rules/S3358/php/rule.adoc

51 lines
934 B
Plaintext
Raw Normal View History

== Why is this an issue?
2020-06-30 12:48:39 +02:00
include::../description.adoc[]
=== Noncompliant code example
2020-06-30 12:48:39 +02:00
2022-02-04 17:28:24 +01:00
[source,php]
2020-06-30 12:48:39 +02:00
----
function get_readable_status($is_running, $has_errors) {
return $is_running ? "Running" : ($has_errors ? "Failure" : "Succeeded"); // Noncompliant
2020-06-30 12:48:39 +02:00
}
----
=== Compliant solution
2020-06-30 12:48:39 +02:00
2022-02-04 17:28:24 +01:00
[source,php]
2020-06-30 12:48:39 +02:00
----
function get_readable_status($is_running, $has_errors) {
if ($is_running) {
return "Running";
2020-06-30 12:48:39 +02:00
}
return $has_errors ? "Failure. " : "Succeeded ";
2020-06-30 12:48:39 +02:00
}
----
2021-01-06 17:38:34 +01:00
=== Exceptions
2021-01-06 17:38:34 +01:00
2021-01-27 13:42:22 +01:00
Exclusively chained shorthand ternary operators ``++?:++`` are excluded from this rule.
2021-01-06 17:38:34 +01:00
[source,php]
2021-01-06 17:38:34 +01:00
----
$result = $option1 ?: $option2 ?: 'default';
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::../highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]