Link Search Menu Expand Document

Hei Maailma!

Tässä tutoriaalissa opit asentamaan Piken käyttäen composeria.

Sisällysluettelo

  1. Johdanto
  2. Step 1. Asenna Pike
  3. Step 2. Savutestaa
  4. Step 3. Lisää reittikäsittelijä
  5. Yhteenveto

Johdanto

Nämä tutoriaalit on kirjoitettu web/front-kehittäjille, joilla on jo toimiva php-devausympäristö käytössään. Devausympäristöstäsi tulisi löytyä:

  • XAMPP, WAMP, MAMP tai vastaava jossa php-7.3 tai uudempi
  • composer

Step 1. Asenna Pike

Luo projektille oma kansio devausympäristösi serverin public_html/htdocs -kansioon, ja anna sille nimeksi tut1-hello-pike. Luo sinne uusi uusi tiedosto composer.json, ja kirjoita sen sisällöksi:

{
    "name": "me/my-app",
    "require": {
        "ut4/pike": "0.9.0"
    }
}

Avaa komentokehote, ja siirry sillä edellä luotuun kansion cd /<publicHtmlKansio>/tut1-hello-pike/. Asenna projekti ajamalla komento composer install (tai php /jokin/polku/composer.phar install). Projektikansioon pitäisi ilmestyä vendor-kansio, ja sen sisälle Pike ja kaikki sen riippuvuudet.

Step 2. Savutestaa

Verifioi edellinen steppi luomalla uusi tiedosto /<publicHtmlKansio>/tut1-hello-pike/index.php ja kirjoita sen sisällöksi,

<?php declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php';

final class HelloModule {
    public function init(\Pike\AppContext $ctx): void {
        // todo
    }
}
$app = new \Pike\App([new HelloModule]);
echo $app::VERSION;

Avaa lempiselaimesi, ja siirry sillä osoitteseen http://<devausYmpäristösiOsoite>/tut1-hello-pike/index.php. Mikäli selain tulostaa versionumeron, asennus onnistui.

Step 3. Lisää reittikäsittelijä

Nyt sinulla on entry-pointti applikaatiolle, mutta ei vielä yhtään reittiä jota se osaisi käsitellä. Korjaa tilanne rekisteröimällä applikaatioon uusi reittikäsittelijä urlille / - päivitä /<publicHtmlKansio>/tut1-hello-pike/index.php-tiedoston sisällöksi:

<?php declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php';

final class HelloModule {
    public function init(\Pike\AppContext $ctx): void {
        $ctx->router->map('GET', '/', ['HelloController', 'renderHelloPage']);
    }
}
final class HelloController {
    public function renderHelloPage(\Pike\Response $res): void {
        $res->plain('Hello');
    }
}
$app = new \Pike\App([new HelloModule]);
$app->handleRequest($_GET['q'] ?? '/');

Uudelleenavaa lempiselaimesi osoiteella http://<devausYmpäristösiOsoite>/tut1-hello-pike/index.php?q=/, joka pitäisi versionumeron sijaan tulostaa reittikäsittelijän asettama vastaus.

Yhteenveto

Tässä tutoriaalissa:

  • Asensit Piken, ja loit uudelle applikaatiolle projektikansion
  • Loit applikaatiolle entry-pointin index.php, joka luo Pike-instanssin, jonka opetit vastaamaan GET /-pyyntöön

Valmis seuraavaan steppiin? Goto Tutoriaali #2: Moduulit.


Copyright © 2019-2021 ut4