Hei Maailma!
Tässä tutoriaalissa opit asentamaan Piken käyttäen composeria.
Sisällysluettelo
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 vastaamaanGET /-pyyntöön
Valmis seuraavaan steppiin? Goto Tutoriaali #2: Moduulit.