Getting Started
Define Your Dependencies
Put a file named composer.json at the root of your project, containing your project dependencies:
{
"require": {
"vendor/package": "1.3.2",
"vendor/package2": "1.*",
"vendor/package3": "^2.0.3"
}
}
For more information about packages versions usage, see the composer documentation.
Install Composer In Your Project
Run this in your command line:
curl -sS https://getcomposer.org/installer | php
Or download composer.phar into your project root.
See the Composer documentation for complete installation instructions on various platforms.
Install Dependencies
Execute this in your project root.
php composer.phar install
Autoload Dependencies
If your packages specify autoloading information, you can autoload all the dependencies by adding this to your code:
require 'vendor/autoload.php';
Browse the packages we have to find more great libraries you can use in your project.
Publishing Packages
Define Your Package
Put a file named composer.json at the root of your package's repository, containing this information:
{
"name": "your-vendor-name/package-name",
"description": "A short description of what your package does",
"require": {
"php": ">=8.2",
"another-vendor/package": "1.*"
}
}
This is the strictly minimal information you have to give.
For more details about package naming and the fields you can use to document your package better, see the about page.
Validate The File
Run composer validate
to check that your file has no syntax errors.
Commit The File
Add the composer.json
to your git or other VCS repository and commit it.
Publish It
Log in or register on this site, then hit the submit button in the menu.
Once you entered your public repository URL in there, your package will be automatically crawled periodically. You just have to make sure you keep the composer.json file up to date.
Sharing Private Code
Use Private Packagist if you want to share private code as a Composer package with colleagues or customers without publishing it for everyone on Packagist.org. Private Packagist allows you to manage your own private Composer repository with per-user authentication, team management and integration in version control systems.