Siirry pääsisältöön

Composer - Lisäosat ja teemat

Mikä on Composer?

Päivitetty tällä viikolla

Composer on suosittu PHP:n riippuvuuksen hallintaan käytetty ohjelmisto. Kaikki kirjoittamasi koodi päätyy riippumaan kolmannen osapuolen kirjastoista. Kaikki nämä kirjastot (projektit, tukiympäristö (eng. framework), tiedostot jne.) tulevat projektisi riippuvuuksiksi. Composerin avulla voit määrittää projektin riippuvuudet, ja se asentaa ja hallinnoi niitä.

Lähde: roots.io

Kuinka käyttää Composeria WordPressin kanssa

Käytämme esimerkkinä pelkistettyä versiota composer.json -tiedostosta osioiden selittämiseksi.

"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]
},
],
"require": {
"php": ">=8.0",

"koodimonni/composer-dropin-installer": "^1.0",
"johnpbloch/wordpress-core-installer": "^2.0",
"johnpbloch/wordpress-core": "^6.0",
"composer/installers": "^1.0",

"vlucas/phpdotenv": "^5.0",
"roots/bedrock-autoloader": "^1.0",
"seravo/seravo-plugin": "*",

"wpackagist-plugin/google-site-kit": "*",
"wpackagist-plugin/two-factor": "*",

"wpackagist-theme/twentytwentythree": "*"
},
},
"extra": {
"installer-paths": {
"htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
"htdocs/wp-content/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
"htdocs/wp-content/themes/{$name}": ["type:wordpress-theme"]
},

Repositorio osio (eng. repositories)

"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]

Repositorio osio kertoo Composerille mistä sen pitää itseä pakettejasi. Löytääkseen WordPressin lisäosat ja teemat se täytyy osoittaa wpackagist.org -sivustolle, joka peilaa wordpress.org -sivustolta ladattavat lisäosat ja teemat. Tähän osioon voit lisätä myös mahdolliset kustomoidut repositoriot, mutta WordPressiä varten tarvitset wpackagist-palvelun.

Vaaditut osio (eng. require)

  "require": {
"php": ">=8.0",

"koodimonni/composer-dropin-installer": "^1.0",
"johnpbloch/wordpress-core-installer": "^2.0",
"johnpbloch/wordpress-core": "^6.0",
"composer/installers": "^1.0",

"vlucas/phpdotenv": "^5.0",
"roots/bedrock-autoloader": "^1.0",
"seravo/seravo-plugin": "*",

"wpackagist-plugin/google-site-kit": "*",
"wpackagist-plugin/two-factor": "*",

"wpackagist-theme/twentytwentythree": "*"
}

Vaadittu osio kertoo Composerille pienimmän vaaditun PHP-version ja asennettavat paketit.

"johnpbloch/wordpress-core": "^6.0", WordPressin ytimen versio

"wpackagist-plugin/google-site-kit": "*", Oletuksena vaadittu lisäosa

"wpackagist-plugin/two-factor": "*", Oletuksena vaadittu lisäosa

"wpackagist-theme/twentytwentythree": "*" Asennetaan teema Twenty Twenty-Three

Ekstra osio (eng. extra)

  "extra": {
"installer-paths": {
"htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"],
"htdocs/wp-content/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
"htdocs/wp-content/themes/{$name}": ["type:wordpress-theme"]
}

Oletuksena Composer asentaa kaiken projektin juurihakemistossa olevaan vendor -hakemistoon. Onneksi wpackagist käyttää älykästä composer/installers -lisäosaa, jonka avulla voimme määrittää mukautettuja polkuja. Ekstra osiossa voi myös määrittää polut eri tyyppisille paketeille.

Omien lisäosien ja teemojen lisääminen

Paras tapa kehittää kustomoituja lisäosia ja teemoja on lisätä ne omiin repositorioihinsa ja asentaa ne Composerin avulla.

Voit tehdä tämän lisäämällä composer.json -tiedoston lisäosan/teeman repositorioon:

{ 
"name": "your-name/custom-plugin",
"type": "wordpress-plugin",
"license": "GPLv3",
"description": "Plugin description",
"homepage": "https://github.com/your-name/custom-plugin"
}

Jonka jälkeen voit lisätä sen vaadittavaksi projektissa seuraavasti:

{ 
"repositories": [
{
"type": "vcs",
"url": "https://github.com/your-name/custom-plugin.git"
}
],
"require": {
"your-name/custom-plugin": "*"
}
}

Näin saat lisäosia ja teemoja käyttöön Githubsta tai Bitbucketista.

Maksulliset WordPress-lisäosat

Oletuksena Composer hakee vain moduuleja, jotka ovat julkisesti saatavilla Githubissa. Maksullisille WordPress-lisäosille, jotka eivät ole vapaasti saatavilla, on periaatteessa kaksi vaihtoehtoista lähestymistapaa. Voit joko sisällyttää ne projektirepositorioomme ja jakaa ne yhdessä projektikoodin kanssa, tai voit hankkia maksullisen tilin packagist.com -sivustolta, joka sisältää mahdollisuuden käyttää yksityisiä Composer-paketteja. On myös mahdollista käyttää yksityisiä repositorioita Composerille Satis-palvelun avulla.

Lisätietoa Composerin käyttöön löydät täältä.

Vastasiko tämä kysymykseesi?