Probleem met syntax error: unexpected ')'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan Kila

Jan Kila

25/12/2021 11:07:31
Quote Anchor link
Error: "PHP Parse error: syntax error, unexpected ')' in /Applications/MAMP/htdocs/mvclogin/app/controllers

De melding komt uit de 'php_error.log' file; het symptoom is dat m'n script zonder verdere melding stopt en een wit scherm produceert.
De betreffende code is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  
public function logout()
  {
    // Unset ALL? session variables
    $_SESSION = [];
    if(ini_get('session.use_cookies'))
    {
      $params = session_get_cookie_params();
      setcookie(
        session_name(),
        '',
        time() - 42000,
        $params['path'],
        $params['domain'],
        $params['secure'],
        $params['httponly'],
      );
    }

    echo 'are we happy?<br>';

Op regel 77 staat alleen dat haakje ');'.
Mijns inziens is er helemaal niks mis met de code, maar de parser heeft een andere mening.
Kent iemand dit verschijnsel?

Het kost een nachtje slapen, maar wanneer ik de komma achter de regel: '$params['httponly']' weg haal. Dan werkt het weer als vanouds.
Is dit één van de 'peculiarities' van PHP?

Edit:
Topictitel aangepast naar wat duidelijks. Hele lappen met errors en paden zijn niet echt interessant. Houd de topictitel voortaan lekker compact.
Gewijzigd op 26/12/2021 00:03:23 door - Ariën -
 
PHP hulp

PHP hulp

01/10/2022 19:53:19
 
- Ariën  -
Beheerder

- Ariën -

25/12/2021 11:57:45
Quote Anchor link
Die laatste komma even weghalen.

Toevoeging op 25/12/2021 11:58:19:

Graag even een beknopte titel aangeven.
 
Rob Doemaarwat

Rob Doemaarwat

25/12/2021 12:24:20
Quote Anchor link
Merk op: vanaf PHP 8 kan dit: https://php.watch/versions/8.0/trailing-comma-parameter-use-list (zodat als je op de volgende regel een parameter toevoegt, je niet de regel erboven aan hoeft te passen; dat heeft voordelen bij versiebeheer - als je iemand de "schuld" moet geven dat ie de boel verkloot heeft).

Je draait dus waarschijnlijk een stukje code dat voor PHP 8 bedoeld was op PHP 7.x of ouder.
 
- Ariën  -
Beheerder

- Ariën -

25/12/2021 12:36:04
Quote Anchor link
Bij array's kan een 'trailing comma' trouwens ook.
 
Jan Kila

Jan Kila

25/12/2021 12:58:22
Quote Anchor link
@ Rob en Arien,
"Je draait waarschijnlijk een stukje code dat voor PHP 8 bedoeld was op PHP 7.x of ouder."
Dat klopt, ik heb de code van PHPnet geplukt; en ik gebruik versie 7.0.8 op m'n local host.

"Bij array's kan een 'trailing comma' trouwens ook."
Dat brengt mij in verwarring; er staan inmiddels zoveel komma's achter de laatste regel in een $data[] array, dat ik daar echt niet meer naar een oorzaak zocht.

Niettemin. bedankt heren; en fijne kerst dagen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.