7
respostas

Rodando primeiro Controller FataError

Estou rodando localhost:8000/materiais (o que seria o /produtos no curso) e coloquei como nome do projeto, ao invés de estoque, living.

rodo localhost:8000 e vai bem a rota para /materiais , recebo este erro:

Stack trace:
#0 /Library/WebServer/Documents/Projetos/living/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(73): living\Exceptions\Handler->report(Object(ParseError))
#1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(ParseError))
#2 {main}
thrown

Este é o routes.php

<?php

Route::get('/', function(){
    return '<h1>Diretório /</h1>';
});

Route::get('/materiais', 'MaterialController@lista');

Este o MaterialController

<?php namespace living\Http\Controllers;

/**
* 
*/
class MaterialController extends Controller{

    public function lista(){
        return '<h1>Método Lista de do MaterialController</h1>'
    }


}

Obrigado!

7 respostas

Resolvido. Faltava um ; no fim da função lista. MAs não entendi o erro

Resolvido. Faltava um ; no fim da função lista. MAs não entendi o erro

Oi Marcelo, tudo bom?

Realmente, o erro não está muito explicativo. A unica coisa que o erro nos diz é que o handler de erros do framework pegou algo.

Normalmente, esse tipo e erro ocorre quando utilizamos a versão 7 do php com o Laravel (que ainda não está 100% compativel). Pois, na versão 7 do php foram implementadas exceptions para lidar com erros de interpretação do script. Enquanto as versões anteriories lidavam com isso atraves de errors. O framework lida com isso da forma antiga, ou seja, ele espera um Error. Mas, o php 7 lança uma exception e acabamos recebendo essa informação meio vazia no stack trace.

Esse problema esta sendo bastante discutido no github do laravel, inclusive. Acredito que versões futuras evitarão esse tipo de comportamento =)

Abraço e bons estudos.

André, isso aí mesmo. Estou usando o PHP7 e instalei o Laravel 5.0.

Um ambiente ruim? Esta instalçao do laravel é independente pra cada projeto ou todo projeto meu vai usar o laravel 5.0?

Valeeu!

Por enquanto, a combinação PHP7 + laravel não está sendo a melhor mesmo =/

Existem algumas formas de trabalhar com os dois, mas exigiria algumas mudanças no framework.

A melhor cominação mesmo, por enquanto, para evitar problemas é PHP5.6 + laravel.

Quanto ao framework, você consegue criar projetos com a versão que você quiser usando o composer:

composer create-project laravel/laravel {diretorio} 4.2 --prefer-dist

No exemplo acima criamos um na versão 4.2 =)

Entendi, velho..

Neste caso, melhor fazer um downgrade da versão do PHP?

Nossa, o ambiente ta uma bagunça.. eu usava XAMPP mas não conseguiu alterar algumas coisas, desinstalei e habilitei o nativo. Mas está rodando o 7 ainda do XAMPP, porém com todos os arquivos de configuração do nativo..

Tá meio assim.. confuso kkk mas ta rolando

Tchelos-Mac:~ Tche$ php --version
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:18) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies