Sto provando GAE per php e mi sono perso nella costruzione del file app.yaml. Posso capire la parte dal tutorial di Google che mostra come a punto tutte le richieste URL in un singolo fileCome costruire un file app.yaml?
https://developers.google.com/appengine/docs/php/gettingstarted/helloworld
Ma non aiuta nel mio caso. Ho intenzione di pubblicare ciò che ho impostato e la struttura del file è nella foto.
app.yaml
application: xxx
version: 1
runtime: php
api_version: 1
threadsafe: true
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /images
static_dir: images
- url: /scripts
static_dir: scripts
- url: /favicon.ico
static_files: favicon.ico
upload: favicon.ico
- url:/
script: main.php
login: required
auth_fail_action: redirect
- url: /main
script: main.php
login: required
auth_fail_action: redirect
Così la mia pagina di destinazione per xxx.appspot.com o xxx.appsport.com/main sarebbe main.php. E funziona bene.
main.php
<?php
session_start();
date_default_timezone_set('America/Los_Angeles');
require_once 'google/appengine/api/users/UserService.php';
use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
$user = UserService::getCurrentUser();
$name= $user->getNickname();
$name = explode(".",$name);
$name[0]= ucfirst($name[0]);
$name[1]= ucfirst($name[1]);
$name = $name[0]." ".$name[1];
$_SESSION['name']=$name;
$_SESSION['email']= getenv('USER_EMAIL');
header('Location: login.php');
Quindi carichi inizia una sessione e ottiene il nome utente e-mail fare qualche formattazione di stringhe e quindi impostare come Session variabile e poi verifico per abbinare una condizione e sulla base del condizione reindirizzare a un altro script che esegue un po 'più di convalida e così via. Per rendere semplice sto solo ad orientarli verso login.php
login.php
<?php
session_start();
echo $_SESSION['name'];
Così il put out visualizzata dovrebbe essere il nome della variabile di sessione, ma invece ho questa
Quindi cosa ho sbagliato? Utilizzerò la pagina di accesso per estrarre i dati utente da un db SQL e in base al valore reindirizzare l'utente a pagine diverse che visualizzeranno diversi moduli, tabelle, rapporti in base alle loro impostazioni.
Es. Da login.php
se userA appartiene a dip1
intestazione ('Località /Dept1/main.php');
Else
intestazione ('Località /Deptx/main.php');
Quindi mi aspetto un sacco di reindirizzamenti e ognuno dei reindirizzamenti deve essere in grado di riportare anche le variabili di sessione impostate. Sono in grado di farlo mentre gira su un normale server PHP. La versione GAE richiede un po 'di apprendimento. Vorrei ringraziare qualcuno in anticipo solo per aver dedicato del tempo a leggere fino a sentire. Grazie.
Inoltre sarebbe bello se qualcuno potesse fare un tutorial dettagliato su come usare app.yaml e come potrebbe essere usato con un esempio demo come in w3school.
mi piacerebbe pensare App Engine considera solo il nome del percorso (ignorando la stringa di query) quando corrispondenza degli URL, ma potrei sbagliarmi. – icktoofay
Oh sì, grazie, ho modificato la risposta. –
Grazie per il controllo. Ci proverò. Puoi spiegare anche come funzionano i personaggi speciali? –