Why Not Build Everything From Scratch?

Until now, we have been writing our code from the ground up. This is great for learning, but as applications become more complex, it can lead to disorganized, repetitive, and insecure code. This is where a framework comes in.

A web framework is a pre-built foundation and a set of tools that provides a structure for your application. It handles all the common, boring tasks for you, so you can focus on building the unique features of your project.

The Car Chassis Analogy

Think of a framework like a pre-built car chassis. It already has the engine, wheels, frame, and steering system in place and working perfectly together. Your job is to design and build the body of the car, add the seats, and paint it your favorite color. You get a fully functional car much faster and more reliably than if you tried to build every single component from scratch.


Introducing Laravel

Laravel is the most popular open-source PHP framework in the world. It is known for its elegant syntax, robust features, and developer-friendly experience.

Why Use a Framework Like Laravel?

  • Speed and Efficiency: Laravel provides ready-to-use components for common tasks like routing, database interaction (called Eloquent ORM), authentication, and caching.
  • Structure (MVC Architecture): It enforces a clean, organized code structure called Model-View-Controller (MVC).
    • Model: Represents your data and interacts with the database.
    • View: The HTML templates that the user sees (similar to our .php files with HTML).
    • Controller: The "traffic cop" that receives user requests, gets data from the Model, and passes it to the View.
  • Security: It comes with built-in protection against common web vulnerabilities like SQL Injection, Cross-Site Scripting (XSS), and Cross-Site Request Forgery (CSRF).
  • Powerful Tools: It includes a powerful command-line tool called Artisan, which can automate many development tasks.

Your First Laravel Project: "Hello World"

Laravel projects are created and managed using Composer. Let's create a simple "Hello" page.

1. Install Laravel

Open your terminal (not in your `htdocs` folder, but somewhere like your main `Documents` folder) and run this Composer command:

composer create-project laravel/laravel my-first-laravel-app

Composer will download Laravel and all its dependencies into a new folder called my-first-laravel-app.

2. Start the Development Server

Navigate into your new project folder and use the Artisan command-line tool to start a local server:

cd my-first-laravel-app
php artisan serve

Your application will now be running at http://127.0.0.1:8000.

3. Understanding Routes

In Laravel, you don't access files like page.php directly. Instead, you define "routes" that map a URL to a piece of code. All web routes are defined in the file routes/web.php.

Open that file and add a new route to the bottom:

// In routes/web.php
use Illuminate\Support\Facades\Route;

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

// Add this new route
Route::get('/hello', function () {
    return 'Hello from our first Laravel route!';
});

4. See the Result

Save the file and now visit http://127.0.0.1:8000/hello in your browser. You will see your message!

You've just created your first Laravel application. While this is just a tiny glimpse, it shows the fundamental concept of routing that powers all modern frameworks. Instead of thinking in files, you start thinking in URLs and the logic they trigger.