Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

368
Vistas
PHP - difference of use keyword outside of class and use keyword inside of a class

Good day guys!

Just want to ask the difference of use outise the class and use inside the class ? I have also googled it, but my question doesnt match an answer.

Example:

namespace App\Http\Controllers\Auth;

use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Auth;
use Illuminate\Http\Request;

class AuthController extends Controller
{

    use AuthenticatesAndRegistersUsers, ThrottlesLogins;

    protected $redirectTo = '/';

    /**
     * Create a new authentication controller instance.
     *
     * @return void
     */
    public function __construct()
    {
       // Some Code
    }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

When you define a class, it can only have access to other classes within its namespaces. Your controller for instance is defined within the following namespace.

namespace App\Http\Controllers\Auth;

So to use other classes, you need to import them from their own namespaces so you can access them. e.g.:

use Illuminate\Foundation\Auth\ThrottlesLogins;

If you have javascript ES6 experience, it's a little bit similar to import. When you import a package, the default namespace is /node_modules. To import your own files, you need to sort of namespace them by giving the file location like

import '../containers/index.js'

Back to Laravel. Now that you have imported the ThrottlesLogins, which is actually a trait, now inside the class you use it to expose all of the methods inside.

use Illuminate\Foundation\Auth\ThrottlesLogins; //import
public class AuthController
{
    use ThrottlesLogins; //exposes all the methods inside
    ...

    public function login()
    {
        ...
        //login failed 
        $this->incrementLoginAttempts(); //defined in ThrottlesLogins Trait
    }
}

From the example above, you have direct access to incrementLoginAttempts(), which is defined the ThrottlesLogins.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda