Parse Error - Projeto Blog com PHP/MySQL

Tópicos para discussões de PHP no geral.
Bruno
Mensagens: 3
Registrado em: Ter Jun 01, 2021 6:54 pm

Parse Error - Projeto Blog com PHP/MySQL

Mensagem por Bruno »

Olá Gunner,

Como vai?

Estou construindo o código linha a linha (pra fixar bem o conteúdo) e até esse tempo (1:18) da 3a Aula está tudo rodando, porém quando é inserido os métodos no arquivo Router.php, está retornando o seguinte erro:

Parse error: syntax error, unexpected 'array' (T_ARRAY), expecting function (T_FUNCTION) or const (T_CONST) in C:\xampp\htdocs\cyberblog\App\Core\Router.php on line 8

Conferi tudo e até peguei teu código no git para rodar, dá o mesmo erro, a única parte que difere o seu código da réplica que fiz (que acredito não ter relevância com o erro acima), é o nome da pasta do projeto que vai na última linha da regra inserida no .htaccess da root, que no meu caso tive que tirar, pois senão não roda (Internal Server Error), exatamente o que aconteceu na aula 2 (Base de Dados e Estrutura de projeto), tempo de aula (1:32), que ficou assim, segue:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ /public/$1 [L,NC]

Estou pesquisando na net uma solução, mas se puder dar um norte, agradeço mesmo.

E parabéns pela série, estou me atualizando e aprendendo muito, obrigado!
gunnercorrea
Site Admin
Mensagens: 14
Registrado em: Dom Mar 28, 2021 10:21 am

Re: Parse Error - Projeto Blog com PHP/MySQL

Mensagem por gunnercorrea »

Bom dia, Bruno.

Poderia, por favor, me enviar o seu código na Router? Alias, qual versão do PHP você está utilizando?

Fico no aguardo.
Olá! :D
Bruno
Mensagens: 3
Registrado em: Ter Jun 01, 2021 6:54 pm

Re: Parse Error - Projeto Blog com PHP/MySQL

Mensagem por Bruno »

Bom dia Gunner,

Segue as informações solicitadas abaixo:

1 - Versão PHP (senão me engano, eu vi que o seu é o 7.4):

PHP/7.3.28

Apache/2.4.47 (Win64) OpenSSL/1.1.1k PHP/7.3.28 Server at cyberblog.localhost Port 80

Obs: Sobre o nome do server, não funcionou o "cyberblog.com", então utilizei as instruções do xampp.

2 - Arquivo Router.php (onde eu parei na aula até dar o Parse Error que aponta para os "arrays") :

Código: Selecionar todos

<?php

namespace App\Core;

class Router
{
    //Todos os parâmetros da nossa URL em Array
    private array $uriData;

    //Qual a controladora a ser executada
    private string $controller;

    //Qual método a ser chamado
    private string $method;

    //Quais parâmetros a serem enviados
    //private array $params;

    public function __construct()
    {
        //echo 'estamos no construtor'; // 1:18
        $this->controller = 'Home';
        $this->method     = 'index';
        $this->params     = [];
    }
      
}
Grato.
gunnercorrea
Site Admin
Mensagens: 14
Registrado em: Dom Mar 28, 2021 10:21 am

Re: Parse Error - Projeto Blog com PHP/MySQL

Mensagem por gunnercorrea »

Tenta tirar os tipos das propriedade, pois acho que pela sua versão ele não é suportado.

Onde está:

Código: Selecionar todos

//Todos os parâmetros da nossa URL em Array
private array $uriData;

//Qual a controladora a ser executada
private string $controller;

//Qual método a ser chamado
private string $method;
Coloque:

Código: Selecionar todos

//Todos os parâmetros da nossa URL em Array
private $uriData;

//Qual a controladora a ser executada
private $controller;

//Qual método a ser chamado
private $method;
Veja se funciona.

Referência: https://stitcher.io/blog/typed-properties-in-php-74
Olá! :D
Bruno
Mensagens: 3
Registrado em: Ter Jun 01, 2021 6:54 pm

Re: Parse Error - Projeto Blog com PHP/MySQL

Mensagem por Bruno »

Boa noite Gunner,

Fiquei devendo o retorno.

Segui sua sugestão e retirei os tipos das propriedades, o 'PARSE ERROR' sumiu, porém logo mais a frente houve outros erros que não consegui mesmo identificar, como eu já tinha revisado todo o código, eu optei por reinstalar o php, só que agora com a versão 7.4.20, e pra minha surpresa ... deu tudo certo, reconheceu os tipos definidos da controladora, métodos e parâmetros que na versão 7.3.28 retornava um PARSE Error, agora posso seguir projeto.

Grato pelos retornos e agora bora terminar a aula 3, forte abraço, sucesso! :D
gunnercorrea
Site Admin
Mensagens: 14
Registrado em: Dom Mar 28, 2021 10:21 am

Re: Parse Error - Projeto Blog com PHP/MySQL

Mensagem por gunnercorrea »

Muito bom!

Realmente devemos sempre manter a mesma versão da Aula, pois a ideia é criar um código de última geração.

Abraços.
Olá! :D
Responder