Bonjour,

Voila je rencontre un petit problème avec mon code, j'ai un nouveau ordinateur et j'utilise mac.
Voici l'erreur que je rencontre:

Parse error: parse error, expecting '&'' or"variable (T_VARIABLE)"' in /Applications/MAMP/htdocs/vs/vendor/illuminate/support/helpers.php on line 554

9 réponses


Michel Mve
Auteur
Réponse acceptée

Bsr à tous
Merci pour votre aide, j'ai trouvé la solution.
Juste la mise à jour du php

Comment ça ?
les illuminatis n'utilisent pas la bonne version de php

Tu pourrais nous montrer le code, de cette page, et aussi la page qui l'appelle. Parce que là il te dit en gros qu'il espérait une variable ou un &.

Voici mon code

if (! function_exists('dd')) {
    /**
     * Dump the passed variables and end the script.
     *
     * @param  mixed  $args
     * @return void
     */
    function dd(...$args)
    {
        foreach ($args as $x) {
            (new Dumper)->dump($x);
        }

        die(1);
    }
}

et voici la page qui l'appel:

<?php

use Respect\Validation\Validator as v;

session_start();

require __DIR__ . '/../vendor/autoload.php';

$app = new \Slim\App([
    'settings' => [
            'displayErrorDetails' => true,             'app' => [
                        'name' => getenv('APP_NAME')
                ],

            'mailer' => [
                'host' => getenv('MAIL_HOST'),
                'username' => getenv('MAIL_USERNAME'),
                'password' => getenv('MAIL_PASSWORD')
            ],
        'baseUrl' => getenv('BASE_URL')
    ],
]);

$container = $app->getContainer();

$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($container['settings']['db']);
$capsule->setAsGlobal();
$capsule->bootEloquent();

$container['db'] = function ($container) use ($capsule) {
    return $capsule;
};

$container['auth'] = function ($container) {
    return new \App\Auth\Auth;
};

$container['flash'] = function ($container) {
    return new \Slim\Flash\Messages;
};
$container['mailer'] = function($container) {
    return new Nette\Mail\SmtpMailer($container['settings']['mailer']);
};
$container['view'] = function ($container) {
    $view = new \Slim\Views\Twig(__DIR__ . '/../resources/views', [
        'cache' => false,
    ]);

    $view->addExtension(new \Slim\Views\TwigExtension(
        $container->router,
        $container->request->getUri()
    ));

    $view->getEnvironment()->addGlobal('auth', [
        'check' => $container->auth->check(),
        'user' => $container->auth->user(),
    ]);

    $view->getEnvironment()->addGlobal('flash', $container->flash);

    return $view;
};
// gestion de la page 404
$container['notFoundHandler'] = function ($container) {
    return function ($request, $response) use ($container) {
        $container['response']
          ->withStatus(404)
          ->withHeader('Content-Type', 'text/html');
          return  $container->view->render($response, 'errors/e404.twig');
    };
};

// gestion de la page 500
$container['errorHandler'] = function ($container) {
    return function ($request, $response, $exception) use ($container) {
        $container['response']
          ->withStatus(500)
          ->withHeader('Content-Type', 'text/html');
          return  $container->view->render($response, 'errors/e500.twig');
    };
};

$container['validator'] = function ($container) {
    return new App\Validation\Validator;
};

$container['PageController'] = function ($container) {
    return new \App\Controllers\PageController($container);
};

$container['AuthController'] = function ($container) {
    return new \App\Controllers\Auth\AuthController($container);
};

$container['PasswordController'] = function ($container) {
    return new \App\Controllers\Auth\PasswordController($container);
};

$container['csrf'] = function ($container) {
    return new \Slim\Csrf\Guard;
};

$app->add(new \App\Middleware\ValidationErrorsMiddleware($container));
$app->add(new \App\Middleware\OldInputMiddleware($container));
$app->add(new \App\Middleware\CsrfViewMiddleware($container));

$app->add($container->csrf);

v::with('App\\Validation\\Rules\\');

require __DIR__ . '/../app/routes.php';

On s'en fou de ton code, on veut la ligne 554 de helper.php
as-tu lu le message d'erreur ?

Et elle est ou la ligne 554 ? :D

@plus
Pierre

Sans voir le code, je soupçonne un pb de référence (voir ici)

voici la ligne 554

 function dd(...$args)

Les variable-length arguments sont apparus avec php5.6
Quelle version de php utilises-tu ?
Ici ce que demande la library Illuminate/support