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

React Js Commands

React JS Commands and Useful purposes  To Install react app: npx create-react-app app-name To Install react app: npx create-react-app . To check npm version: npm --version Inside that directory, you can run several commands:   npm start     Starts the development server.   npm run build     Bundles the app into static files for production.   npm test     Starts the test runner.   npm run eject     Removes this tool and copies build dependencies, configuration files     and scripts into the app directory. If you do this, you can’t go back! node -v (To check node version) The latest recommended command to create a new React app is: npx create-react-app@latest my-app Replace my-app with your desired project name. This approach uses the latest version of Create React App and works if Node.js (version 14+) and npm (version 5.2+) are installed Modern Alternatives If you prefer a faster, lighter setup, many developers n...

Advanced Objects Introduction in JS

  Advanced Objects Introduction Remember, objects in JavaScript are containers that store data and functionality. In this lesson, we will build upon the fundamentals of creating objects and explore some advanced concepts. So if there are no objections, let’s learn more about objects! In this lesson we will cover these topics: how to use the this keyword. conveying privacy in JavaScript methods. defining getters and setters in objects. creating factory functions. using destructuring techniques. The this Keyword Objects are collections of related data and functionality. We store that functionality in methods on our objects: const goat = {    dietType : 'herbivore' ,    makeSound () {      console . log ( 'baaa' );   } }; In our  goat  object we have a  .makeSound()  method. We can invoke the  .makeSound()  method on  goat . goat . makeSound (); // Prints baaa Nice, we have a  goat  ob...