Creare un controller
en laravelPara crear un controller
, debemos abrir el símbolo del sistema o terminal, según el sistema operativo que estemos usando, y escribir el siguiente comando para crear el controlador usando Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Reemplazar <controller-name>
con tu nombre controller
. Esto creará un controller
. los controller
creado se puede ver en app/Http/Controllers
.
Verá que ya se ha realizado una codificación básica para usted y puede agregar su propia codificación personalizada. El controller
created se puede llamar desde web.php con la siguiente sintaxis.
Route::get(‘base URI’,’controller@method’);
1 : Ejecute el siguiente comando para crear MyController
php artisan make:controller MyController
2 – Después de una ejecución exitosa, obtendrá el siguiente resultado.
3 – Encontraremos el controlador creado en app/Http/Controller/MyController.php
con un código básico ya escrito y podemos hacer cambios según sea necesario.
Ya hemos visto el middleware
y también podemos usarlo con el controller
. los middleware
también se puede asignar a la ruta del controlador o dentro del constructor del controlador. Puedes usar el método middleware
para asignar el middleware
al controller
. los middleware
registrada también puede limitarse a ciertos métodos de la controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Aquí estamos asignando middleware de autenticación a UserController en la ruta del perfil.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('auth');
}
}
Aquí estamos asignando el middleware
de autenticación utilizando el método middleware
en el constructor micontrolador .
Tenga en cuenta que $this->middleware()
funziona solo si lo asigna en el constructor. si llamamos $this->middleware()
desde un método de controlador específico, no arrojará ningún error, pero el middleware en realidad no funcionará.
Esta opción es válida, pero personalmente prefiero poner todo el middleware en el routes
, porque es más claro dónde buscar todos los middleware
.
1 – Agreguemos las siguientes líneas de código al archivo rutas/web.php y ahorramos.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Vamos a crear un middleware
llamado FirstMiddleware
ejecutando la siguiente línea de código.
php artisan make:middleware FirstMiddleware
3 : agregue el siguiente código en el método encargarse de de los FirstMiddleware
recién creado en aplicación/Http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 – Vamos a crear un middleware
llamado SegundoMiddleware ejecutando el siguiente comando.
php artisan make:middleware SecondMiddleware
5 : agreguemos el siguiente código en el método handle del SecondMiddleware
recién creado en aplicación/Http/Middleware .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : vamos a crear un controller
llamado micontrolador ejecutando la siguiente línea.
php artisan make:controller MyController
7 – Después de que la URL se ejecute correctamente, obtendrá el siguiente resultado:
8 – Copie el siguiente código en el archivo app/Http/MyController.php
.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('Second');
}
public function showPath(Request $request) {
$uri = $request->path();
echo '<br>URI: '.$uri;
$url = $request->url();
echo '<br>';
echo 'URL: '.$url;
$method = $request->method();
echo '<br>';
echo 'Method: '.$method;
}
}
9 – Ahora, iniciemos el servidor web interno de php ejecutando el siguiente comando, si aún no lo ha hecho.
php artisan serve
10 – Visita la siguiente URL.
http://localhost:8000/mycontroller/path
11 – La salida aparecerá como se muestra en la siguiente imagen.
Prácticamente ambos middlewares están involucrados, pero solo uno
Controller
di restful resource
A menudo, al crear una aplicación, debe hacer algo CRUD (Create, Read, Update, Delete)
. Laravel facilita este trabajo. Solo crea un controller
y Laravel proporcionará todos los métodos para las operaciones automáticamente CRUD
. También podemos registrar una ruta única a todos los métodos en el archivo route.php
.
1 : crea un controlador llamado MyController
ejecutando el siguiente comando.
php artisan make:controller MyController
2 : agregue el siguiente código en app/Http/Controllers/MyController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function index() {
echo 'index';
}
public function create() {
echo 'create';
}
public function store(Request $request) {
echo 'store';
}
public function show($id) {
echo 'show';
}
public function edit($id) {
echo 'edit';
}
public function update(Request $request, $id) {
echo 'update';
}
public function destroy($id) {
echo 'destroy';
}
}
3 – Agreguemos la siguiente línea de código en el archivo routes/web.php
.
Route::resource('my','MyController');
4 – Ahora estamos registrando todos los métodos de MyController al registrar un controlador con recurso. A continuación se muestra la tabla de acciones gestionadas por el controlador de recursos.
Verb | Path | la columna Acción | Nombre de ruta |
---|---|---|---|
/mi | índice | mi índice | |
/mi/crear | Para crear | mi.crear | |
PUBLICAR | /mi | tienda | mi tienda |
/mi mi} | Mostrar | mi espectáculo | |
/mi/{mi}/editar | editar | mi edición | |
PONER/PARCHE | /mi mi} | actualización | mi.actualización |
BORRAR | /mi mi} | destruir | mi destruir |
5 – Intente ejecutar las URL que se muestran en la siguiente tabla.
Enlance | Descripción | uscita |
---|---|---|
http://localhost:8000/my | Ejecute el método de índice de MyController.php | índice |
http://localhost:8000/my/create | Ejecute el método de creación de MyController.php | crear |
http://localhost:8000/my/1 | Ejecute el método show de MyController.php | Mostrar |
http://localhost:8000/my/1/edit | Ejecute el método de edición de MyController.php | editar |
Ercole Palmeri
En el mundo del aprendizaje automático, tanto los algoritmos de bosque aleatorio como de árbol de decisión desempeñan un papel vital en la categorización y...
Hay muchos consejos y trucos para realizar excelentes presentaciones. El objetivo de estas normas es mejorar la eficacia, fluidez de…
Publicación del informe "Perspectivas de desarrollo de productos de Protolabs". Examine cómo se lanzan nuevos productos al mercado hoy...
El término sostenibilidad se utiliza ahora ampliamente para indicar programas, iniciativas y acciones destinadas a preservar un recurso en particular.…
Cualquier operación empresarial produce una gran cantidad de datos, incluso en diferentes formas. Ingrese manualmente estos datos desde una hoja de Excel para...
El compromiso de los correos electrónicos de las empresas aumentó más del doble en los primeros tres meses de 2024 en comparación con el último trimestre de…
El principio de segregación de interfaces es uno de los cinco principios SÓLIDOS del diseño orientado a objetos. Una clase debería tener...
Microsoft Excel es la herramienta de referencia para el análisis de datos, porque ofrece muchas funciones para organizar conjuntos de datos,…