require
will add a dependency to the composer.json
file and load it into the vendor
directory as you have correctly noticed.
create-project
on the other hand will clone the dependency, i.e. use the dependency as a template for a new project. Take a look at the repository behind laravel/laravel
: https://github.com/laravel/laravel