📝 Composer MCQ Test (PHP)
🔹 Section A: Basic Concepts
1. What is Composer in PHP?
A. PHP Framework
B. Dependency Manager
C. Database Tool
D. Web Server
👉 Answer: B
2. Which file is used to define dependencies in Composer?
A. index.php
B. config.php
C. composer.json
D. package.json
👉 Answer: C
3. Which command initializes a Composer project?
A. composer start
B. composer create
C. composer init
D. composer new
👉 Answer: C
4. Which command installs dependencies from composer.json?
A. composer require
B. composer install
C. composer update
D. composer load
👉 Answer: B
5. What folder stores installed packages?
A. packages/
B. libs/
C. vendor/
D. modules/
👉 Answer: C
🔹 Section B: Commands & Usage
6. Which command adds a new package?
A. composer install
B. composer require
C. composer add
D. composer get
👉 Answer: B
7. Which command updates all dependencies?
A. composer upgrade
B. composer refresh
C. composer update
D. composer reload
👉 Answer: C
8. What does this command do?
composer remove monolog/monolog
A. Installs package
B. Updates package
C. Deletes package
D. Runs package
👉 Answer: C
9. What is the purpose of composer.lock?
A. Lock files from editing
B. Store exact versions of dependencies
C. Backup file
D. Cache file
👉 Answer: B
10. Which command regenerates autoload files?
A. composer reload
B. composer autoload
C. composer dump-autoload
D. composer refresh
👉 Answer: C
🔹 Section C: Autoloading
11. Which file enables autoloading?
A. autoload.php
B. vendor/autoload.php
C. load.php
D. init.php
👉 Answer: B
12. What is PSR-4?
A. PHP Server Rule
B. Coding standard for autoloading
C. Database format
D. API protocol
👉 Answer: B
13. Which keyword is used with namespaces?
A. import
B. include
C. use
D. require
👉 Answer: C
14. What does this line do?
require 'vendor/autoload.php';
A. Connects database
B. Loads all dependencies automatically
C. Runs Composer
D. Installs packages
👉 Answer: B
🔹 Section D: Practical Understanding
15. Difference between install and update?
A. No difference
B. Install uses lock file, update upgrades versions
C. Update installs packages
D. Install deletes packages
👉 Answer: B
16. Which package is used for sending emails?
A. Guzzle
B. Monolog
C. PHPMailer
D. PHPUnit
👉 Answer: C
17. Which package is used for HTTP requests?
A. Monolog
B. Guzzle
C. PHPMailer
D. Slim
👉 Answer: B
18. Monolog is used for?
A. Email
B. Logging
C. Database
D. Routing
👉 Answer: B
🔹 Section E: Advanced
19. What will happen if vendor folder is deleted?
A. Project stops working
B. Composer breaks permanently
C. Can be restored using composer install
D. Nothing happens
👉 Answer: C
20. Which version constraint means “compatible with version 6.x”?
A. “6.0”
B. “^6.0”
C. “~6.0”
D. “>=6.0”
👉 Answer: B
🎯 Bonus (Case-Based Question)
21. You cloned a project from GitHub. What should you run first?
A. composer update
B. composer require
C. composer install
D. composer init
👉 Answer: C
📊 Scoring Guide
- 18–21 → 🟢 Excellent
- 14–17 → 🟡 Good
- 10–13 → 🟠 Average
- <10 → 🔴 Needs Practice






