Load a Github Gist with Composer
- Comments:
- 1
Composer is amazing for pulling in packages, but what if you find a Gist that isn't Composer aware? Fear not, as Composer has the magical ability to pull in repositories not explicitly set up in Packagist by defining them in the "repositories" section.
But what if you wanted to load a single class from a git gist?
You can add the following repositories
section to your composer.json
file, adjusting name
and url
as necessary. The name
should be a vendor/package
(all lower) style name you make up for it, and url
will be from the Clone this gist box on GitHub.
"repositories": [
{
"type":"package",
"package": {
"name": "turin86/wssoapclient",
"version": "master",
"source": {
"url": "https://gist.github.com/5569152.git",
"type": "git",
"reference":"master"
},
"autoload": {
"classmap": ["."]
}
}
}
]
Then in your require section, add your selected name
as follows.
"require": {
"turin86/wssoapclient": "dev-master"
}
If the name of the class doesn't match the filename in a friendly autoload-able manner, you'll have to replace "classmap": ["."]
with "files": ["ClassToAutoload.php"]
replacing ClassToAutoload.php
with the filename. More info on autoloading can be found here. Note that if you are experimenting with autoload settings you may need to remove your vendor directory and composer install
, as updates to the autoload were not reflected for me after a composer update
.
After this, just run composer update
and voilà, you are loading a gist with Composer.