Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

225
Views
Laravel api clase de ruta al error encontrado

Actualmente estoy trabajando en la autenticación basada en api jwt de una placa de caldera en SitePoint. Hasta ahora he conseguido que todo funcione, pero estoy atascado en este punto.

Mi controlador se ve así:

 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;

en el cuerpo tengo esta función:

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

Bajo mi ruta api tengo esto en un middleware:

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

Cuando ejecuto esto en cartero, aparece el siguiente error: "mensaje": "Clase 'App\Api\V1\Controllers\App\Order' no encontrada",

He probado todo lo que se me ocurre y sigue pasando. Cuando lo saco del controlador y lo ejecuto directamente en las rutas, funciona. Soy un novato en Laravel y PHP, así que estoy un poco atascado.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Todo lo siguiente supone que desea invocar App\Order::first();

En la función checkThis , puede reemplazar App\Order::first() por

Orden::primero() //versión de alias

o reemplace App\Order::first() por

\Aplicación\Orden::primero(); //Versión de nombre completamente calificada

por manual de php

 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;

Darse cuenta de

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

otro manual de php

y Dentro de un espacio de nombres, cuando PHP encuentra un Nombre no calificado en un nombre de clase, función o contexto constante, los resuelve con diferentes prioridades. Los nombres de clase siempre se resuelven en el nombre del espacio de nombres actual. Por lo tanto, para acceder a las clases de usuario internas o sin espacios de nombres, se debe hacer referencia a ellas con su Nombre completo.

manual de php: Nombre completamente calificado

Nombre completamente calificado

Este es un identificador con un separador de espacio de nombres que comienza con un separador de espacio de nombres, como \Foo\Bar. El espacio de nombres \Foo también es un nombre completo.

Entonces, si desea invocar la función App\Order ::first, solo Order::first , por la razón de que

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

el alias es Order en lugar de App\Order . Y el nombre completo es \App\Order en lugar de App\Order .

Por otro lado, cuando invocas App\Order::first(); significa que estas invocando

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

Entonces no puede no encontrar la clase;

Aquí está mi demostración

archivo1.php

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

archivo2.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

cuando ejecuto el comando php file2.php se repite soy el primero

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!