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

AngularJS - Directives

First, we have to learn AngularJs directives, Directives are simple special attributes in HTML. It has own set of built-in directives which offers functionality to your applications. To check all directive list https://docs.angularjs.org/api/ng/directive  For example, I take ng-app , ng-model ,  ng-init and ng-bind .  First will talk about the ng-app directive, the ng-app directive is initializing the AngularJS application. To take the values of all HTML inputs ( input, radio, select and textarea ) we use the ng-model.     ng-bind is print the expression. we can also be written inside double braces: {{ expression }} . AngularJS - Directives Example 1  Note: All these directives are work in inside the ng-app closed tag. you can assign ng-app directive to any tag. like <HTML>, <DIV>, <SPAN> but make sure initialize the main parent tag.     Now, We can check data initializes before page load. For this, ...