Erste Schritte

Wir laden Sie recht herzlich ein, sich mit dem Alvine-Framwork zu beschäftigen. Wenn Sie neu in der Entwicklung sind, sollten Sie sich zum Start eine Entwicklungsumgebung einrichten. Sie können zum Beispiel Netbeans oder phpstorm verwenden. Als nächstes müssen Sie sich das aktuelle Phar-Archive des Alvine Framworks besorgen. Sie können die Dateien auf download.alvine.io herunterladen.

Neben der Phar-Datei brauchen Sie auch immer den mitgelieferten Schlüssel. Dieser muss im gleichen Verzeichnis wie das phar-Archive liegen.

Das Alvine PHP Framwork arbeitet komplett objektorientiert. Soweit es sinnvoll ist, sind alle Funktionen in Klassen abgebildet, selbst für interne Typen wie Zeichenketten, Arrays und Listen stehen im Framwork objektorientierte Typen bereit. Hier muss immer zwischen der Bequemlichkeit und der Performance gewählt werden. Im folgenden Beispiel wird statt der normalen PHP Stringverarbeitung mit der Alvine String-Verarbeitung gearbeitet.

wget http://download.alvine.io/alvine-framework-<version>.phar
wget http://download.alvine.io/alvine-framework-<version>.phar.pub

Konkretes Beispiel

wget http://download.alvine.io/alvine-framework-1.2.1.phar
wget http://download.alvine.io/alvine-framework-1.2.1.phar.pub

Nachdem Sie alle Bibliotheken heruntergeladen haben, können Sie mittels dem Prüfscript checkRequirements.php alle Abhängigkeiten aufspüren
und die Konfiguration anpassen. 

```bash
curl -s http://download.alvine.io/checkRequirements.php | php

PHP verwendet für die CLI und Web-Variante oftmals unterschieldiche Einstellungen. Um die gewünsche Umgebung zu testen, muss die entsprechende php.ini referenziert werden.pg

 curl -s http://download.alvine.io/checkRequirements.php | php -c /etc/php5/apache2/php.ini

Sie können die Phar-Datei und den Schlüssel umbenennen und die Version entfernen, oder alternativ einen symbolischen Link setzen.

Hello World

/** Sie müssen das Framework einbinden */
include 'alvine.framework.phar';
/** Zeichenkette erstellen */
$string=new \Alvine\Types\StringType('Hello World!');

/** Ausgabe der Zeichenkette */
echo $string;

Das Ergebnis nach Ausführung von php hello.php auf der Komandozeile ist dann

#linux> php hello.php

Hello World!

Webanwendung

Im nächsten Schritt wollen wir einen Ausgabe im Webbrowser erzeugen. Dazu legen wir die Datei index.php im Root-Verzeichnis Ihres PHP-fähigen Webservers an.

Achtung

Aus Sicherheitsgründen sollten die Phar-Archive nicht im Document-Root Verzeichnis des Webservers gespeichert werden.

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Hallo Welt</title>
    </head>
    <body>
        <?php
        /** Sie müssen statt der 1.1.1 die von Ihnen verwendete Version nehmen */
        include 'alvine.framework-1.1.1.phar';

        /** String-Objekt erstellen */
        $string = new Alvine\Types\StringType('Hallo Welt!');
        /** String ausgeben */
        echo (string) $string;
        ?>
    </body>
</html>

Erstellen einer UUID

In dem nächsten Beispiel wollen wir eine UUID erstellen. Eine UUID kann als eindeutige ID eines Datensatzes genommen werden. In Alvine haben alle Objekte eine eindeutige ID. Die ID kann mit der Mehotde Alvine::getID() ermittelt werden.

/** UUID erstellen */
$uuid=\Alvine\Util\UUID::generateFromRandom();

/** UUID ausgeben */
echo $uuid;

Das Ergebnis ist dann eine zufällige UUID wie 87995166-93d1-400f-bb61-0317cc299233

Erstellen wir im nächsten Schritt ein Objekt - in diesem Beispiel vom Typ File - und fragen dessen UUID ab.

/** File-Objekt erstellen */
$file = new \Alvine\IO\File\File('my.txt');

/** UUID des Objektes ausgeben */
echo $file->getID();

Dieses Beispiel gibt die UUID des Objektes aus, z.B. b5e6d7de-9c98-4689-f288-c67d55dde885