>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Beveiliging
PHP

Hoe voorkom je dat je het wiel opnieuw uitvindt bij het werken met Google Cloud in PHP

1.042 sterren

Stel je dit voor: je moet snel bestandsuploads toevoegen aan Cloud Storage of tekstherkenning instellen via de Vision API. Je opent Google's officiële documentatie en een lawine van informatie treft je. Clientbibliotheken, serviceaccount-authenticatie, eindeloze JSON-configuraties. Eén gedachte draait in je hoofd: "Ik moet alleen maar één bestand uploaden, is het echt zo ingewikkeld?"

Het blijkt van niet. Google heeft een repository genaamd php-docs-samples, die vaak in de schaduw blijft van de hoofd-SDK's, maar het is precies wat uren (soms dagen) zoeken bespaart. Het is een enorme verzameling — op een goede manier — van kant-en-klare codefragmenten voor PHP-ontwikkelaars.

Wat zit er in deze repository

Kort samengevat: het is een verzameling werkende voorbeelden voor elke denkbare Google Cloud Platform (GCP) service. Er zijn geen complexe abstracties of pogingen om het "perfecte framework" te bouwen. Gewoon eenvoudige code die een specifieke taak oplost.

Het project bestaat al sinds 2012. In de loop der tijd is het uitgegroeid tot indrukwekkende proporties. Binnenin vind je voorbeelden voor:

  • Gegevensopslag (Cloud Storage, Firestore, Spanner)
  • Machine learning (Vision, Translation, Natural Language)
  • Infrastructuur (Compute Engine, Cloud Functions)
  • Wachtrijen en messaging (Pub/Sub)

Hoe dit in de praktijk helpt

Het hoofdprobleem met officiële SDK's is dat ze universeel en overladen zijn. Bij php-docs-samples is de aanpak anders: "hier is een functie, hier is hoe je deze aanroept."

Werken met afbeeldingen en neurale netwerken

In plaats van uit te zoeken hoe je een afbeelding correct moet inpakken voor verzending naar de Vision API, kun je simpelweg kijken in de vision map. Er zijn voorbeelden voor gezichtsdetectie, tekstherkenning of logo-zoekopdrachten. Je kopieert de methode, vervangt je API-sleutel, en het werkt.

Cloud Functions zonder hoofdpijn

Als je in PHP schrijft voor Cloud Functions, weet je dat lokaal debuggen best een genoegen is. De repository heeft een sectie functions die laat zien hoe je HTTP-verzoeken afhandelt of reageert op gebeurtenissen in Cloud Storage. Dit helpt je de aanroepsignatuur te begrijpen zonder constant naar de cloud te hoeven deployen om elke wijziging te verifiëren.

Werken met databases

Het opzetten van een verbinding met Google Cloud Spanner of Firestore met PHP is niet de meest triviale taak vanwege authenticatiespecificaties. De voorbeelden scheiden duidelijk: waar we een instantie maken, hoe we het dataschema beschrijven, en hoe we transacties uitvoeren.

De technische kant

Alle code is geschreven in puur PHP met behulp van officiële bibliotheken google/cloud-*. Dit betekent dat je nog steeds de benodigde pakketten via Composer moet toevoegen.

Een interessant punt: de repositorystructuur weerspiegelt de Google Cloud-documentatiestructuur. Als je een artikel in Google Docs leest en daar een PHP-codeblok ziet, is deze hoogstwaarschijnlijk hier vandaan gehaald. Dit stelt je in staat om de repository als offline naslagwerk te gebruiken.

Om elk voorbeeld op je machine uit te voeren, heb je meestal alleen nodig:

  1. Clone de repository.
  2. Navigeer naar de gewenste directory (bijvoorbeeld storage/).
  3. Voer composer install uit.
  4. Configureer de omgevingsvariabele GOOGLE_APPLICATION_CREDENTIALS die verwijst naar je serviceaccount-sleutelbestand.

Is het de moeite waard om te leren

Ik kom vaak ontwikkelaars tegen die proberen cloudintegratie "vanaf nul" te implementeren door alleen de API-referentie te lezen. Dat is een pijnlijke weg. php-docs-samples is in wezen een spiekbriefje dat je mag gebruiken op het examen.

Wie heeft het meeste profijt van dit project:

  • Degenen die net migreren van lokale servers naar GCP en geen week aan documentatie willen besteden.
  • Ontwikkelaars die snel een prototype moeten bouwen met Google's AI-services.
  • Systeembeheerders die automatisering scripts schrijven in PHP.

Natuurlijk is het project niet perfect. Sommige voorbeelden kunnen oververeenvoudigd lijken, met minimale foutafhandeling en architectuur teruggebracht tot een enkel bestand. Maar voor leendoeleinden en snelle starts is het de beste beschikbare bron.

Als je van plan bent om met Google Cloud te werken, bookmark dan deze repository of fork deze. Vroeg of laat heb je een voorbeeld nodig van hoe je correct een bericht naar Pub/Sub stuurt, en je zult blij zijn dat je het niet op Stack Overflow hoefde te zoeken.

Gerelateerde projecten