Generelle PHP regler

Koden må følge disse standardene: PSR-1, PSR-2, PSR-12

Kommentarer

Prøv å holde kommentarer til minimum, dette tvinger en til å tenke over hva en kaller variabler og metoder. Mer komplisert logikk som fks. Regex burde alltid legges til en egen metode med et fornuftig navn slik at det er enkelt å lese koden der hvor denne er i bruk.

Dårlig praksis:

/**
 * Here we replace all of the letters B with A.
 */
$result = preg_replace('/B/', 'A', $string);

God praksis:

function replaceBWithA($string)
{
    return preg_replace('/B/', 'A', $string);
}

Strenger

Bruk “interpolation” når det er mulig istedenfor å skjøte sammen ved bruk av “.”.

// Dårlig praksis:

$greeting = 'Hi, I am ' . $name . '.';

// God praksis:

$greeting = "Hi, I am {$name}.";

Kontrollstrukturer

Alltid bruk krøllparanteser.

// Dårlig praksis:

if ($condition) ...

// God praksis:

if ($condition) {
    ...
}

Alltid sjekk på det som kan gå galt først i en funksjon, dette gjør koden mer lesbar.

// Dårlig praksis:

if ($goodCondition) {
    // Do work
}

throw new Exception;

// God praksis:

if (! $goodCondition) {
    throw new Exception;
}

Unngå å bruke `else så ofte som mulig, dette gjør koden mer lesbar.

// Dårlig praksis:

if ($conditionA) {
    if ($conditionB) {
        // Condition A and B passed.
    } else {
        // Condition A passed, B failed.
    }
} else {
    // Condition A failed.
}

// God praksis:

if (! $conditionA) {
    // Condition A failed.
    return;
}

if (! $conditionB) {
    // Condition B failed.
    return;
}

// Condition A and B passed.

Så ofte som mulig burde flere if statements brukes istedenfor sammensatte if statements for å øke lesbarheten:

// Dårlig praksis:

if ($conditionA && $conditionB && $conditionC) {
    // do stuff
}

// God praksis:

if (! $conditionA) {
    return;
}

if (! $conditionB) {
    return;
}

if (! $conditionC) {
    return;
}

Her kan det også fordelaktig benyttes egene metoder med beskrivende navn.

if ($this->shouldMakePost()) {
    // Do stuff
}