Skip to main content

Sending data from routes to views

Sending data from routes to views

for a quick understanding of routes

Like I said, all the examples will quickly recall what you understood on Laravel. These examples are very basic and I have also provided the correspond pictures.

Laravel routes file located at routes\web.php

Sending simple string from route to URL. 


// Example of sending simple string to views
Route::get('/string_example', function () {
    return "Siddhu first laravel application";
});
The image shows the output

Laravel begginer

Laravel simple string sending to URL from routes
At the same time send basic array


// Example of sending array data to views
Route::get('/array_example', function () {
    return ["Laravel","PHP","MySQL"];
});
Laravel simple array sending to URL from routes


sending simple array to URL. you can notice here, Laravel by default converting array to JSON format. 


// Example of sending array data to views
Route::get('/json_example', function () {
    return ["framework"=>"Laravel","server"=>"PHP","db"=>"MySQL"];
});
Laravel simple json sending to URL from routes


Checking case-sensitive. Yeah why not clear my doubt, Perhaps may be it work.


// case-senstive test => failed if we call with "case_senstive"
Route::get('/case_SENSTIVE', function () {
    return "Case setive test of URL";
});
It's give me a 404 error. When I call with all small letters like (127.0.0.1:8000/case_senstive).


/**
 * Passing data to URL  (GET request) wildcard example
 * ex: example.com/test/1
 * ex: example.com/test/my-first-post
 * ex: example.com/test/abcd
 * this part  {post} called wildcard
 * wildcard must be pass on function
 */
Route::get('/test/{post}', function($post){
       return view('test',["name"=>$post]);
});
Here I'm sending the wildcard {post} parameter. You can print the parameter in your view file.



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>All view files are located at resources folder in laravel</p>
    <p>This view getting data from Routes.</p>
    <p>Pass name parameter on get request.</p>
     <p>My name is: {{$name}}</p>
</body>
</html>
Laravel view file example


Let's take blog as example, Now I'm going to show an example of real usage without database connection


/**
 *  Let's take a small example of blog posts
 *  Just assume some static data getting from DB ($posts)
 *  in this case you call url blog/my-first-post
 *  if posts are not available the redirect to 404
 *  abort() laravel function
 * */
Route::get('blog/{post}',function($post){
    $posts =
    [
        "my-first-post" => "Hello, This is my first blog post using laravel",
        "my-second-post" => "Hello, This is my second blog post using laravel",
    ];

    if (!array_key_exists($post,$posts)) {
        abort(404,"Ohh Sorry! This post not avaialble");
    }

    return view('blog',["blog"=>$posts[$post]]);
});
----***---


You can set names for your route.

For Ex:


Route::get('/about_us', function () {
    return view('about_us');
});

// above route we call in URL example.com/about_us
// Now we can set a name for route

Route::get('/about_us', function () {
    return view('about_us');
})->name('about');

So in menu we can call this 

<li><a href="{{ route('about') }}">About</a></li>





Comments

Popular posts from this blog

Laravel Commands

Laravale commands #Check route list php artisan route:list #Check upload files links php artisan storage:link #Check database connected or not php artisan db #Make Request file php artisan make:request YourNameRequest #Make Controller #(In this statement you used -r -> resources and -m -> model. It will create CustomersController and Customers Model files) php artisan make:controller CustomersController -r -m Customers #Make Resource file php artisan make:resource CustomersResource #To check migration files status that those files are running or not with below commands php artisan migrate:status #To check if there is any pending migrate files to run #(also this command shows us the mysql query before running migration file) php artisan migrate --pretend #To make a database table (in this example Products name as taken) php artisan make:migration create_products_table #To create a Request file php artisan make:request StoreProductRequest php artisan make:request Up...

Mysql columns creation in laravel

List of columns  $table->id(); // increment value $table->string('title')->comment('this is blog title'); $table->string('slug')->unique(); $table->text('short_desc'); $table->longText('description'); $table->boolean('is_published')->default(false); $table->integer('min_of_read')->nullable(true); $table->enum('status', ['Active', 'Inactive']); $table->float('discount'); $table->smallInteger('type_id'); $table->date('start_date')->nullable(); $table->timestamps(); $table->foreign('created_by')->references('id')->on('users'); // introducing foreign key $table->unsignedBigInteger('user_id'); //? $table->decimal('latitude', 9, 6)->nullable(true); // Let's say you want starting value from 1000 $table->id()->from(1000); // increment value start from 1000 ->nullabl...

Laravel form validations

 Laravel Validations: List of types "first_name" => 'required|alpha:ascii|min:3|max:100',// alpha:ascii (only accepts a-z) "middle_name" => 'string', "last_name" => 'required|string', "email" => 'required|email|unique:users,email', "password" => 'required|string|confirmed', "sex" => 'required|string', "phone_no" => 'required|string', "account_type" => 'required|string', "dob" => 'required|date_format:d-m-Y', // date with format "nationality" => 'required|string', "company" => 'required|string', "company_sector" => 'required|string', "company_address" => 'required|string' "bank_account_no" => 'required|min_digits:3|max_digits:5', "role" => 'required|in:admin,editor,viewer', ...