Bird
Raised Fist0
Laravelframework~5 mins

Laravel project structure - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the app/ directory in a Laravel project?
The app/ directory holds the core code of the application, including models, controllers, and business logic.
Click to reveal answer
beginner
Where are the route definitions stored in a Laravel project?
Route definitions are stored in the routes/ directory, typically in files like web.php for web routes and api.php for API routes.
Click to reveal answer
beginner
What is the role of the resources/views/ directory?
The resources/views/ directory contains the Blade template files that define the HTML views shown to users.
Click to reveal answer
beginner
Explain the purpose of the public/ directory in Laravel.
The public/ directory is the web server's document root. It holds publicly accessible files like index.php, CSS, JavaScript, and images.
Click to reveal answer
beginner
What kind of files are stored in the config/ directory?
The config/ directory contains configuration files that set up database connections, mail settings, and other app options.
Click to reveal answer
Which directory contains the Laravel application's models and controllers?
Aapp/
Bpublic/
Cresources/
Dconfig/
Where would you find the Blade template files in a Laravel project?
Aroutes/
Bpublic/
Capp/Http/Controllers/
Dresources/views/
What is the main purpose of the public/ directory?
AStore configuration files
BHold database migrations
CServe as the web server's document root
DContain route definitions
Which directory contains route files like web.php and api.php?
Aroutes/
Bconfig/
Capp/
Ddatabase/
Where do you configure database connections in Laravel?
Aapp/Models/
Bconfig/database.php
Cresources/views/
Dpublic/
Describe the main directories in a Laravel project and their roles.
Think about where code, routes, views, public files, and settings live.
You got /5 concepts.
    Explain why the public/ directory is important in Laravel's project structure.
    Consider what files the browser can access directly.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which folder in a Laravel project contains the files that define the URL routes for the application?
      easy
      A. config
      B. app
      C. resources
      D. routes

      Solution

      1. Step 1: Understand the purpose of the routes folder

        The routes folder holds files that define how URLs map to code actions in Laravel.
      2. Step 2: Compare with other folders

        The app folder contains core code, resources holds views and assets, and config stores configuration settings.
      3. Final Answer:

        routes -> Option D
      4. Quick Check:

        URL routes = routes folder [OK]
      Hint: Routes are always in the routes folder [OK]
      Common Mistakes:
      • Confusing app with routes folder
      • Thinking views are in routes
      • Mixing config files with routes
      2. Which of the following is the correct path to store Blade template files in a Laravel project?
      easy
      A. public/templates
      B. app/Views
      C. resources/views
      D. config/views

      Solution

      1. Step 1: Identify where Blade templates are stored

        Blade templates are stored in the resources/views folder by Laravel convention.
      2. Step 2: Verify other options

        app/Views is not standard, public/templates is for public assets, and config/views is not used for templates.
      3. Final Answer:

        resources/views -> Option C
      4. Quick Check:

        Blade templates = resources/views [OK]
      Hint: Templates live in resources/views folder [OK]
      Common Mistakes:
      • Putting templates in app folder
      • Confusing public assets with views
      • Trying to store views in config folder
      3. Given this Laravel project structure snippet:
      app/
        Http/
          Controllers/
      resources/
        views/
      routes/
        web.php

      Where should you place a new controller named ProductController.php?
      medium
      A. app/Http/Controllers/ProductController.php
      B. resources/views/ProductController.php
      C. routes/ProductController.php
      D. app/ProductController.php

      Solution

      1. Step 1: Locate where controllers go in Laravel

        Controllers are placed inside app/Http/Controllers folder to handle requests.
      2. Step 2: Check other folders for controllers

        resources/views is for templates, routes is for route files, and app root is not for controllers.
      3. Final Answer:

        app/Http/Controllers/ProductController.php -> Option A
      4. Quick Check:

        Controllers = app/Http/Controllers [OK]
      Hint: Controllers live in app/Http/Controllers [OK]
      Common Mistakes:
      • Placing controllers in views folder
      • Putting controllers directly in app root
      • Confusing routes folder with controllers
      4. You try to access a configuration value in Laravel using config('database.host') but get an error. What is the most likely cause?
      medium
      A. The routes/web.php file is empty
      B. The database.php config file is missing or misnamed
      C. The app/Http/Controllers folder is missing
      D. The resources/views folder has no Blade files

      Solution

      1. Step 1: Understand how config() works in Laravel

        The config() helper reads values from files in the config folder, like database.php.
      2. Step 2: Identify cause of error

        If database.php is missing or misnamed, config('database.host') cannot find the value, causing an error.
      3. Final Answer:

        The database.php config file is missing or misnamed -> Option B
      4. Quick Check:

        Missing config file = error on config() call [OK]
      Hint: Check config files exist for config() calls [OK]
      Common Mistakes:
      • Blaming routes or controllers for config errors
      • Ignoring missing or misnamed config files
      • Assuming views affect config values
      5. You want to add a new API endpoint in your Laravel app. Which folders must you update to add a route, controller, and response view correctly?
      hard
      A. Update routes/api.php, create controller in app/Http/Controllers, and add view in resources/views
      B. Update routes/web.php, create controller in app/Models, and add view in public
      C. Update config/api.php, create controller in app/Http/Controllers, and add view in resources/assets
      D. Update routes/api.php, create controller in app/Http/Middleware, and add view in resources/views

      Solution

      1. Step 1: Identify where API routes are defined

        API routes go in routes/api.php to separate them from web routes.
      2. Step 2: Locate correct controller and view folders

        Controllers belong in app/Http/Controllers, and views go in resources/views.
      3. Step 3: Check incorrect options

        app/Models is for data models, public is for assets, config/api.php is not standard, and middleware folder is for request filters.
      4. Final Answer:

        Update routes/api.php, create controller in app/Http/Controllers, and add view in resources/views -> Option A
      5. Quick Check:

        API route + controller + view folders = Update routes/api.php, create controller in app/Http/Controllers, and add view in resources/views [OK]
      Hint: API routes in routes/api.php, controllers in app/Http/Controllers [OK]
      Common Mistakes:
      • Putting API routes in routes/web.php
      • Creating controllers in wrong folders
      • Adding views outside resources/views
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard