Krav
Installasjon
Bruk
Konklusjon
Composer er et ekstremt populært PHP-administrasjonsverktøy for avhengigheter, som brukes til å gjøre installasjon og oppdateringer enklere for prosjekter. Den sjekker også hvilke andre pakker et prosjekt trenger, og henter dem automatisk for deg, med riktig versjon.
I dette dokumentet vil vi installere og begynne å bruke Composer på en Vultr Ubuntu 14.04 VPS.
Krav
- En Vultr Ubuntu 14.04 VPS.
- En vanlig bruker med
Sudotilgang til den VPS-en.
Installasjon
Avhengighetsinstallasjon
Først av alt må vi sikre at vår VPS har alle Composers krav installert og fungerer.
Oppdater pakkelisten.
sudo apt-get update
Deretter installerer du faktisk Composers krav. Du trenger curlfor nedlastingen, og php5-clifor installasjonen og bruken av den. gitbrukes også av Composer for nedlastinger av prosjektkrav.
Installer kravene.
sudo apt-get install curl php5-cli git
Last ned og installer
Det er veldig enkelt å installere Composer.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Som laster ned og installerer Composer som en global kommando, kalt composer, som ligger i /usr/local/bin. Du vil få denne utgangen.
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Kjør følgende for å teste installasjonen.
composer
Utgangen vil være som følger.
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0-dev (9859859f1082d94e546aa75746867df127aa0d9e) 2015-08-17 14:57:00
Usage:
command [options] [arguments]
Bruk
JSON-fil
For å bruke Composer trenger du en fil kalt for composer.jsonå fortelle Composer hvilke krav prosjektet ditt har og hvilken versjon av disse kravene som skal installeres. Ikke lag dette manuelt for å unngå å gjøre noe feil – Composer lager filen for deg når du legger til avhengigheter. Ytterligere avhengigheter legges også til automatisk.
Eksempel på bruk av komponist
Slik bruker du Composer for avhengighetsinstallasjoner:
- Identifiser biblioteket som trengs for appen.
- Finn et godt bibliotek med åpen kildekode på <Packagist.org>, Composers repository.
- Velg pakken du ønsker.
- Bruk for
composer requireå inkludere og installere avhengigheten.
Initialiserer Slugit
Vi vil nå gå gjennom denne prosessen med en enkel eksempelapp, som tar en setning og gjør den til en vennlig streng, kalt en slug. Dette brukes ofte for å konvertere sidenavn til URL-er, for å gjøre det enklere å generere URL-er og stier. Vi starter med å lage en mappe for appen, kalt slugit.
mkdir ~/slugit
cd ~/slugit
Søker på Packagist
Vi vil nå fortsette packagist.orgog finne en pakke for å hjelpe til med å generere snegler. Søker etter slugpå Packagist bør du vise noen av disse pakkene.
easy-slug/easy-slug, muffin/slug, ddd/slug, zelenin/slug, webcastle/slug, anomaly/slug-field_type
Vi må finne en streng-til-slug-omformer, så det cocur/slugifyser bra ut, med mange installasjoner og stjerner.
Krever en pakke
Etter å ha valgt pakken, kjører vi for composer requireå inkludere den som en avhengighet, genererer composer.jsonog installerer den.
composer require cocur/slugify
Som vist i utdataene som ble generert, valgte Composer den nyeste pakkeversjonen og brukte den. Når du sjekker ~/slugit, bør du se 2 filer, composer.lockog composer.json, pluss en mappe som heter vendor.
composer.lock brukes til å lagre informasjon om pakkeversjoner, og holde dem ved like.
Den vendormappen brukes til å installere avhengigheter. Ikke legg denne mappen inn i et Git-depot eller GitHub.
Hvis et prosjekt du har lastet ned allerede inneholder composer.json , bruk for composer installå laste ned dets avhengigheter.
Forstå versjonsbegrensninger
Hvis du sjekker hva som composer.jsoninkluderer, bør du se noe som ligner på denne blokken.
{
"require": {
"cocur/slugify": "^1.2"
}
}
Composer har mange forskjellige formater og begrensninger for å definere en pakkeversjon, for å tillate fleksibilitet kombinert med stabilitet. ^før et versjonsnummer gjør den versjonen til minimum, og tillater alle versjoner nedenfor 2.0.
Du skal normalt ikke trenge å endre versjonsbegrensninger, men hvis du gjør det, sjekk Composers offisielle dokumentasjon for mer informasjon og retningslinjer for hvordan det hele fungerer.
Autoload-skriptet
Composer gir et autoload-skript, som gjør det mye enklere å jobbe med avhengighetene og navneområdene dine.
Bare inkluder vendor/autoload.phpi PHP-en din før enhver klasseinstansering.
Tilbake til vårt slugiteksempel. La oss lage et testskript, kalt example.php, ved å bruke cocur/slugify.
vim example.php
Legg inn følgende i example.php.
<?php
require __DIR__ . '/vendor/autoload.php';
use Cocur\Slugify\Slugify;
$slugify = new Slugify();
echo $slugify->slugify('Hello World, this is a long sentence and I need to make a slug from it!');
Kjør skriptet.
php example.php
Den vil sende ut følgende tekst:
hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it
Oppdatering av prosjektavhengigheter
For å oppdatere prosjektavhengigheter.
composer update
Hvis oppdateringer blir funnet og er kompatible med begrensningen gitt i composer.json, vil den erstatte den forrige versjonen og oppdateringen composer.lock.
For å oppdatere ett eller flere spesifikke biblioteker.
composer update vendor1/package1 vendor2/package2
Konklusjon
I denne opplæringen gikk vi gjennom installasjon, konfigurering og et eksempel på bruk av Composer for administrasjon av PHP-applikasjonsavhengighet.