<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');//view NO ES echo, es una ruta en resources/views
});

Route::get('/texto', function () {
    return 'Texto puro';//esto es un echo
});

Route::get('/json', function () {
return ['JsonUno'=>'balba','dos'=>'2'];//view NO ES echo, es una ruta en resources/views
});


$uricurso="/curso";

Route::get($uricurso, function () {
    //asi declaras variables van adentro
    $pizza=[
        ['sabor' => 'pepperoni','ingredientes' => 'carne'],
        ['sabor' => 'mexicana','ingredientes' => 'verdura'],
        ['sabor' => 'hawaiana','ingredientes' => 'piña']
    ];
    $varGet1 = request("source");//esta es la variable ?get en el url aunque también puedes ponerlo directo abajo

    $uriviews="Ejemplos Curso";//aun no se como jalar globals..., este es el nombre dentro del folder views
    return view($uriviews, [
        'variable1'=>'bla',
        'pizza'=>$pizza,
        "source"=>$varGet1,
    ] );//asi pasas valores a tu template ['variable1'=>'bla','pizza'=>$pizza], tuve que poner varios para que no truene ya que solo uso un solo view para mis ejemplos, en principio deberían ser varios
});

//tambien hay wildcards que son route parameters por ejemplo /curso/id en lugar de ?
Route::get($uricurso."/{id}/{id2}", function ($id,$id2) {//pasas la variable del uri a la funcion
    return "el id 1 es: ".$id." y el 2 es: ".$id2;//obvio también puedes pasar esto a un view como el anterior
});

//cuando usas un controlador puedes crear los grupos de funciones alla y ya solo llamar la funcion 
//hay un archivo BAT de como crear controllers en la raiz de laravel* fyi
Route::get($uricurso."ConController", "CursoController@index")->name("con.control");//name permite ponerle nombre para que uses el nombre en el view y así si cambias la liga no se rompa

//usando la bdd, lo hice en controller*
Route::get($uricurso."ConController"."/{id}", "CursoController@show");//esto trae algún id
Route::post($uricurso."/create", "CursoController@store");//esto crea un registro nuevo con POST
Route::delete($uricurso."/delete/{id}", "CursoController@destroy");//esto borra
Route::post($uricurso."/delete", "CursoController@destroypost");//esto borra