Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

227
Visualizações
Laravel api route class to found error

I'm currently working on api jwt based authentication off a boiler plate on SitePoint. So far I've gotten everything working but I'm stuck on this point.

My Controller looks like this:

namespace App\Api\V1\Controllers;

use Illuminate\Http\Request;
use Dingo\Api\Routing\Helpers;

use Symfony\Component\HttpKernel\Exception\HttpException;
use JWTAuth;
use App\Http\Controllers\Controller;
use App\Order;
// use App\Api\V1\Requests\LoginRequest;
use Tymon\JWTAuth\Exceptions\JWTException;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;

in the body I have this function:

  public function checkThis()
  {
    $currentUser = JWTAuth::parseToken()->authenticate();
    $orders = App\Order::first();
    echo $orders;
    function() {
    echo "stll here";
    };
  }

Under my api route I have this in a middleware:

$api->get('orderlist', 'App\\Api\\V1\\Controllers\\OrderController@checkThis');

When I run this in postman I get the following error: "message": "Class 'App\Api\V1\Controllers\App\Order' not found",

I've tried everything I can think of and it still keeps happening. When I take it out of the controller and run it directly in the routes it works. I'm a newbie to Laravel and PHP so I'm kinda of stuck.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

All thing below assusing that you want to invoke the App\Order::first();

In function checkThis , you can replace App\Order::first() by

Order::first() //aliasing version

or replace App\Order::first() by

\App\Order::first(); //fully qualified Name version

By php manual

Example #1 importing/aliasing with the use operator
<?php
namespace foo;
use My\Full\Classname as Another;

// this is the same as use My\Full\NSname as NSname   <-- very important 
use My\Full\NSname;

Notice that

// this is the same as use My\Full\NSname as NSname   <-- very important 
    use My\Full\NSname;

another php manual

and Inside a namespace, when PHP encounters an unqualified Name in a class name, function or constant context, it resolves these with different priorities. Class names always resolve to the current namespace name. Thus to access internal or non-namespaced user classes, one must refer to them with their fully qualified Name

php manual : fully qualified Name

Fully qualified name

This is an identifier with a namespace separator that begins with a namespace separator, such as \Foo\Bar. The namespace \Foo is also a fully qualified name.

So if you want to invoke the function App\Order::first ,just Order::first,for the reason that

use App\Order;     
equal 
use App\Order as Order ;

the aliasing is Order instead of App\Order . And the Fully qualified name is \App\Order instead of App\Order.

On the other hand , when you invoke App\Order::first(); it means that you are invoking

App\Api\V1\Controllers\App\Order::first();

So it can't not find the class;

Here is my demo

file1.php

<?php
namespace App;
class  Order{
public static function   first(){
echo "i am first";
  }
}

file2.php

<?php
namespace App\Api\V1\Controllers;
include 'file1.php';

use App\Order ;
\App\Order::first();
// and you can do it by 
//  Order::first();  they are equal in this place 

when i run command php file2.php it echo i am first

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda