Graphene Framework: iniziamo

Graphene framework, php Tony Arcucci

Graphene è un framework per lo sviluppo di applicazioni restful server, per capirne le potenzialità non c’è metodo migliore che provarlo…
Iniziamo scaricandolo all’indirizzo https://github.com/marcomag89/Graphene
Predisponiamo un web site sul nostro server Apache oppure Microsoft IIS, decomprimiamo il contenuto di Graphene.zip nella root.

Il contenuto della root dovrà essere il seguente:

  • Graphene
  • logs
  • modules
  • .htaccess
  • index.php
  • web.config
  • settings.json

Il primo passo è impostare i parametri nel file di configurazione settings.json, apriamolo con un editor di testo:


{
    "debug"        : true,
    "stats"        : false,
    "baseUrl"      : "",
    "frameworkDir" : "",
    "modulesUrl"   : "modules",
    "appName"      : "dsa",
    "logsDir"      : "logs",
    "storageConfig" : {
        "host"     : "localhost",
        "driver"   : "CrudMySql2",
        "type"     : "mysql",
        "dbName"   : "databaseName",
        "prefix"   : "pre_",
        "username" : "userDb",
        "password" : "passwordDb"
    }
}

Log

Nella cartella indicata nel parametro ‘logsDir’ troviamo i log.

Dalla nostra applicazione possiamo salvare log personalizzati usando il seguente metodo Log::logLabel('LOGNAME', $object), alcuni file di log sono scritti da Graphene Framework:

graphene.log
requests.log
errors.log
debug.log
warnings.log

Pertanto se utilizziamo come label del metodo Log:logLabel il nome di uno di questi file, le informazioni inviate saranno aggiunte al file.

Configurazione accesso al database

Il nodo storageConfig contiene le informazioni necessarie all’accesso al database.

Il driver fornito con Graphene è CrudMySql2 e permette l’interfacciamento ad un database Mysql.

Verifica installazione

Possiamo verificare lo stato dell’installazione effettuando una chiamata GET al servizio system/status (http://domain.ext/system/status), se tutto è andato a buon fine otterremo la seguente struttura Json:


{
  "GrapheneStatus": {
    "framework": {
      "info": "Graphene 0.3.0 rc1 [aluminium] developed by Marco Magnetti [marcomagnetti@gmail.com]",
      "version": "0.3.0 rc1"
    },
    "php": "PHP v.5.6.21",
    "appName": "rsa",
    "db": {
      "connectionStatus": "ok",
      "driver": "mySql driver 0.2.1, for Graphene 0.2.x"
    },
    "server": {
      "time": "2016-05-23 12:27:52",
      "ip": "51.255.35.142",
      "software": "Apache"
    },
    "installedModules": [],
    "modules": [
      {
        "name": "com.graphene.acl",
        "actions": 21
      },
      {
        "name": "com.graphene.apps",
        "actions": 4
      },
      {
        "name": "com.graphene.auth",
        "actions": 4
      },
      {
        "name": "com.graphene.profile",
        "actions": 4
      },
      {
        "name": "com.graphene.system",
        "actions": 6
      },
      {
        "name": "com.graphene.users",
        "actions": 10
      }
    ]
  }
}

Organizzazione moduli

[cml_media_alt id='77']Graphene struttura esempio[/cml_media_alt]

La cartella modules conterrà il file manifest.xml, la cartella models e la cartella actions; se volete maggior ordine potete creare una ulteriore cartella sotto modules e lì inserire manifest.xml, models e actions.

 

5/5 (2)

Please rate this

Lascia un commento