Aan de slag met PHP

Deze tutorial is bedoeld voor gebruikers die nog nooit apps in de cloud hebben ontworpen, zoals technici en webontwikkelaars die de belangrijkste concepten willen leren om apps te ontwikkelen met Google Cloud.

Doelen

Bekijk de volgende gidsen voor andere taalspecifieke tutorials om zelf apps te ontwerpen:

Kosten

This tutorial uses the following billable components of Google Cloud:

The tutorial is designed to keep your resource usage within the limits of Google Cloud's Always Free tier. To generate a cost estimate based on your projected usage, use the pricing calculator. New Google Cloud users might be eligible for a free trial.

When you finish this tutorial, you can avoid continued billing by deleting the resources you created. For more information, see Cleaning up.

Voordat u begint

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

    Go to the project selector page

  3. Zorg dat facturering is ingeschakeld voor uw project.

    Meer informatie over het inschakelen van facturering

  4. Voer de volgende stappen uit om een Firestore-database te maken in systeemeigen modus:
    1. Ga in de Cloud Console naar de Firestore-viewer.
      Naar Firestore-viewer
    2. Klik in het scherm Selecteer een Firestore-modus op Systeemeigen modus selecteren.
    3. Selecteer een locatie voor uw Firestore-database. Deze locatie-instelling is de standaardlocatie van Google Cloud-resources voor uw Cloud-project . Deze locatie wordt gebruikt voor Google Cloud-services in uw Cloud-project waarvoor een locatie-instelling vereist is. Dat zijn met name uw standaard Cloud Storage-bucket en uw App Engine-app.
    4. Klik op Database maken.
  5. Enable the App Engine Admin, Cloud Storage, Cloud Logging, and Error Reporting APIs.

    Enable the APIs

  6. Open de broncode van de app in Cloud Shell.
    Naar Cloud Shell

    In Cloud Shell heeft u rechtstreeks vanuit uw browser opdrachtregeltoegang tot uw cloudresources.

  7. Klik op Doorgaan om de voorbeeldcode te downloaden en te wijzigen in de app-directory.
  8. Configureer de gcloud-tool in Cloud Shell om uw nieuwe Google Cloud-project te gebruiken:

    # Configure gcloud for your project
    gcloud config set project PROJECT_ID
    

    Vervang PROJECT_ID door de ID van het Google Cloud-project dat u heeft gemaakt met de Cloud Console.

    De opdrachtregeltool gcloud is de belangrijkste manier om via de opdrachtregel met uw Google Cloud-resources te communiceren. In deze tutorial gebruikt u de tool gcloud om uw app te implementeren en te controleren.

Uw app uitvoeren

  1. Installeer uw app-afhankelijkheden met composer:

    composer install
    

  2. Voer de ingebouwde PHP-webserver uit:
    GOOGLE_CLOUD_PROJECT=PROJECT_ID php -S localhost:8080
    
    Vervang PROJECT_ID door het project-ID van Google Cloud dat u heeft gemaakt.
  3. Klik in Cloud Shell op Voorbeeld op het web en selecteer Voorbeeld op poort 8080. Uw app wordt uitgevoerd in een nieuw venster.

Uw app implementeren in App Engine

Google Cloud biedt verschillende manieren om uw code uit te voeren. In dit voorbeeld gebruikt u App Engine om een schaalbare app in Google Cloud te implementeren. Met App Engine heeft u geen overhead van configuratie-implementaties en serverbeheer, zodat u zich helemaal kunt concentreren op het schrijven van code. Bovendien wordt App Engine automatisch geschaald bij onverwachte pieken in het verkeer.

Het bestand app.yaml is uw primaire configuratiebestand voor de implementatie in App Engine:

runtime: php73

env_variables:
  APP_DEBUG: true
  LOG_CHANNEL: stderr
  APP_STORAGE: /tmp
  1. Implementeer de app via uw terminalvenster in App Engine met de tool gcloud:

    # on the command-line
    gcloud app deploy
    

  2. Voer de volgende URL in uw webbrowser in:

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Vervang het volgende:

    Homepage van Bookshelf-app

Ga naar de PHP 7 runtime-omgeving voor meer informatie over het implementeren van apps in App Engine.

Uw gegevens behouden met Firestore

U kunt geen informatie op uw App Engine-instanties opslaan: de informatie gaat verloren wanneer u de instantie herstart en als u een nieuwe instantie maakt, bestaat de informatie helemaal niet. In plaats daarvan gebruikt u een database waarin al uw instanties informatie schrijven en lezen.

Google Cloud biedt verschillende mogelijkheden om uw gegevens op te slaan. In dit voorbeeld slaat u de gegevens voor elk boek op in Firestore. Firestore is een volledig beheerde, serverloze NoSQL-documentendatabase waarin u gegevens kunt opslaan en opzoeken. Firestore schaalt automatisch om zich aan de behoeften van uw app aan te passen en schaalt naar nul als u de app niet gebruikt. Voeg nu uw eerste boek toe.

  1. Voer de volgende URL in uw webbrowser in:

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Vervang het volgende:

  2. Klik op Boek toevoegen om een boek voor uw geïmplementeerde app te maken.

    Een boek aan de Bookshelf-app toevoegen
  3. Voer in het veld de Titel Moby Dick in.
  4. Voer in het veld de Auteur Herman Melville in.
  5. Klik op Opslaan. Nu staat er een item in uw Bookshelf-app.

    Moby Dick-item in Bookshelf-app
  6. Klik in de Cloud Console op Vernieuwen om de Firestore-pagina te vernieuwen. De gegevens verschijnen in Firestore. De Bookshelf-app slaat elk boek op als een Firestore-document met een unieke ID. Al deze documenten worden opgeslagen in een Firestore-collectie. In deze tutorial noemen we deze collectie 'boeken'. Voorbeeld van een Firestore-document.

Firestore gebruikt de Firestore-clientbibliotheek om boeken op te slaan. In dit voorbeeld ziet u hoe een Firestore-document wordt opgehaald:

// Use the client library to call Firestore
use Google\Cloud\Firestore\FirestoreClient;

$firestore = new FirestoreClient([
    'projectId' => $projectId,
]);
$collection =  $firestore->collection($collectionName);
$bookRef = $collection->document($bookId);
$snapshot = $bookRef->snapshot();

Lees Gegevens toevoegen aan Firestore voor meer informatie over het gebruik van Firestore.

Geüploade bestanden opslaan in Cloud Storage

Nu u een boek heeft toegevoegd, is het tijd om de bijbehorende omslagafbeelding toe te voegen. U kunt geen bestanden op uw instanties opslaan. Een database is niet de juiste keuze voor afbeeldingsbestanden. Gebruik in plaats daarvan Cloud Storage.

Cloud Storage is de primaire opslagplaats voor blobs in Google Cloud. U kunt Cloud Storage gebruiken om app-items te hosten die u wilt delen in Google Cloud. Als u Cloud Storage wilt gebruiken, moet u een Cloud Storage-bucket maken. Dit is een basiscontainer waarin uw gegevens worden opgeslagen.

  1. Ga in de Cloud Console naar de Cloud Storage-browser.

    Naar de Cloud Storage-browser

  2. Klik op Bucket maken.
  3. Geef in het dialoogvenster Bucket maken een naam voor uw bucket op door de ID van uw Google Cloud-project achter aan de tekenreeks _bucket te zetten, zodat de naam eruitziet als YOUR_PROJECT_ID_bucket. De naam moet voldoen aan de vereisten voor bucketnamen. In alle andere velden mag de standaardwaarde blijven staan.
  4. Klik op Maken.
  5. Nadat uw bucket is gemaakt, moeten objecten openbaar toegankelijk worden gemaakt voordat ze kunnen worden bekeken door gebruikers. Zie Gegevens openbaar maken om uw objecten openbaar toegankelijk te maken.
  6. Klik op Boek bewerken en selecteer een afbeelding die u als boekomslag wilt uploaden. Gebruik bijvoorbeeld deze afbeelding uit het publieke domein:
    Moby Dick-boekomslag
  7. Klik op Opslaan. U wordt omgeleid naar de homepage. Nu staat er een item in uw Bookshelf-app.
    Moby Dick-item in Bookshelf-app

De Bookshelf-app stuurt geüploade bestanden naar Cloud Storage via de Cloud Storage-clientbibliotheek.

// Use the client library to call Cloud Storage
use Google\Cloud\Storage\StorageClient;

$storage = new StorageClient([
    'projectId' => $projectId,
]);
$bucketId = $projectId . '_bucket';
$gcsBucket = $storage->bucket($bucketId);

Bekijk de lijst met handleidingen voor meer informatie over hoe u Cloud Storage gebruikt.

Uw app controleren met de operationele producten van Google Cloud

U heeft uw app geïmplementeerd en boeken gemaakt en aangepast. Gebruik App-prestatiebeheer om deze gebeurtenissen voor uw gebruikers te controleren.

Logboeken controleren met Cloud Logging

Cloud Console

  1. Ga in uw browser naar de /logs-URL in uw app:

    https://PROJECT_ID.REGION_ID.r.appspot.com/logs

    Hiermee wordt een aangepast item naar Cloud Logging gestuurd. Het item heeft NOTICE als ernstniveau van logregistratie en bevat het bericht 'Hallo, u heeft een aangepast logboekitem getriggerd. Goed gedaan!'.

  2. Ga naar de logboekviewer. Hier kunt u uw app in realtime controleren. Als er iets fout gaat, is dit een van de eerste plaatsen die u moet nakijken.
    Cloud Logging-logboekviewer
  3. Open het dropdownmenu met resources en selecteer GAE Application.
  4. Selecteer Alle logboeken in het dropdownmenu met logboeken.

    Er is een rij voor uw aangepaste logboekitem.

    Item in logboekviewer

gcloud

  1. Open uw terminalvenster en gebruik de gcloud-opdrachtregeltool om uw app-logboeken te controleren door te luisteren naar nieuwe logboekitems:

    gcloud app logs tail

  2. Ga in uw browser naar de /logs-URL in uw app:

    https://PROJECT_ID.REGION_ID.r.appspot.com/logs

    Hiermee wordt een aangepast item naar Cloud Logging gestuurd. Het item heeft NOTICE als ernstniveau van logregistratie en bevat het bericht 'Hallo, u heeft een aangepast logboekitem getriggerd. Goed gedaan!'.

    De uitvoer van de gcloud-opdracht geeft het nieuwe logboekitem weer:

    Waiting for new log entries...
    2019-03-27 22:17:01 default[20190327t151430]  "Hey, you triggered a custom log entry. Good job!"
    

Error Reporting gebruiken om fouten te controleren

  1. Ga in de Cloud Console naar de pagina Error Reporting.
    Naar de pagina Error Reporting
    In Error Reporting ziet u eventuele fouten en excepties in uw app en kunt u hiervoor waarschuwingen instellen.
  2. Ga in uw browser naar de /errors-URL in uw app.
    https://PROJECT_ID.REGION_ID.r.appspot.com/errors

    Hiermee maakt u een nieuwe testexceptie en stuurt u deze naar de operationele producten van Google Cloud.

  3. Ga in de Cloud Console terug naar de pagina Error Reporting. Hier verschijnt binnen enkele ogenblikken de nieuwe fout. Klik op Automatisch opnieuw laden om de pagina niet handmatig te hoeven vernieuwen.

    Foutmelding uit Error Reporting.

Opschonen

Om te voorkomen dat er kosten in rekening worden gebracht op uw Google Cloud Platform-account voor de resources die in deze tutorial werden gebruikt:

Verwijder het project

  1. In the Cloud Console, go to the Manage resources page.

    Go to the Manage resources page

  2. In the project list, select the project that you want to delete and then click Delete .
  3. In the dialog, type the project ID and then click Shut down to delete the project.

Volgende stap