Laste ned, installere og bruke Composer på Ubuntu 14.04

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.


Leave a Comment

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver

Opprette en Jekyll-blogg på Ubuntu 16.04

Opprette en Jekyll-blogg på Ubuntu 16.04

Bruker du et annet system? Jekyll er et flott alternativ til WordPress for blogging eller deling av innhold. Det krever ingen databaser, og det er veldig enkelt, jeg

Hvordan installere og konfigurere PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

Hvordan installere og konfigurere PHP 7.0 eller PHP 7.1 på Ubuntu 16.04

PHP og relaterte pakker er de mest brukte komponentene når du distribuerer en webserver. I denne artikkelen vil vi lære hvordan du setter opp PHP 7.0 eller PHP 7.1 o

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Sette opp en Yii-applikasjon på Ubuntu 14.04

Sette opp en Yii-applikasjon på Ubuntu 14.04

Yii er et PHP-rammeverk som lar deg utvikle applikasjoner raskere og enklere. Det er enkelt å installere Yii på Ubuntu, som du vil lære nøyaktig

Sett opp din egen DNS-server på Debian/Ubuntu

Sett opp din egen DNS-server på Debian/Ubuntu

Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Sett opp Red5 Media Server på Ubuntu 16.04

Sett opp Red5 Media Server på Ubuntu 16.04

Bruker du et annet system? Red5 er en åpen kildekode medieserver implementert i Java som lar deg kjøre Flash flerbrukerapplikasjoner som live streamin

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t

Hvordan installere Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Hvordan installere Apache Cassandra 3.11.x på Ubuntu 16.04 LTS

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Hvordan installere Vanilla Forum på Ubuntu 16.04

Hvordan installere Vanilla Forum på Ubuntu 16.04

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Hvordan installere Gitea på Ubuntu 18.04

Hvordan installere Gitea på Ubuntu 18.04

Bruker du et annet system? Gitea er et alternativt, selvdrevet versjonskontrollsystem med åpen kildekode drevet av git. Gitea er skrevet på Golang og er

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Bruker du et annet system? MODX Revolution er et raskt, fleksibelt, skalerbart, gratis og åpen kildekode, enterprise-grade Content Management System (CMS) skrevet i

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer