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

Data Types in Python

Data Types  In C# or Java, You need to declare a variable specify them integer, string, and decimal. But in Python no need to specify. We can declare variables like Example: C# or Java int age = 28; string Name = "Siddhu"; Example: Python age = 28 Name = "Siddhu" So, you don't need to declare variable types in python. This is an advantage in Python, But still have few Disadvantages too. Example: In my Python function def add_numbers(x,y): print(x+y) add_numbers(20,50) //Output: 70 add_numbers(20,"Something") //Error:"Traceback (most recent call last): File "C:/Users/siddhartha.e/PycharmProjects/siddhu-py/my1stpycode.py", line 8, in add_numbers(50,"Something") File "C:/Users/siddhartha.e/PycharmProjects/siddhu-py/my1stpycode.py", line 4, in add_numbers print(a + b) TypeError: unsupported operand type(s) for +: 'int' and 'str'" ...

Database and Migrations

Database and Migrations You can config Database in the .env file. By default, Laravel has MySQL configuration. For example, I configured my details DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=Laravel_tutorials DB_USERNAME=root DB_PASSWORD= So how it connects the database, In your root folder config/database.php file will read the .env file configuration. Migrations: Migrations are most likely a version control for your database. Advantages You can easily allow your team to modify database schema and share to everyone in the application No headache to add a new column in the database manually. This migration will help all teammates into one path. Now check with artisan command php artisan migrate php artisan migrate This command will create basic users,password_resets and migrations tables. Here migrations table will track of all migrates You can undo previous migration using rollback command php artisan ...

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', ...