PHP code example of yggverse / gemini

1. Go to this page and download the library: Download yggverse/gemini library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

yggverse / gemini example snippets

 php
$request = new \Yggverse\Gemini\Client\Request(
    'gemini://yggverse.cities.yesterweb.org:1965/index.gmi'
);
 php
$request->setResolvedHost(
    '68.133.1.71'
)
 php
var_dump(
    $request->getResponse()
);
 php
$response = new \Yggverse\Gemini\Client\Response(
    $request->getResponse()
);
 php
var_dump(
    $response->getBody()
);
 php
$body = new \Yggverse\Gemini\Gemtext\Body(
    $response->getBody() // gemtext body from client response or .gmi file content
);
 php
var_dump(
    $body->getLinks() // returns array of links (with line number in key)
);
 php
var_dump(
    $body->findLinks('http') // returns array of http links only (with line number in key)
);
 php
var_dump(
    $body->skipTags() // strip all tags
);

var_dump(
    $body->skipTags(
        [ // 1- and 2- level headers only
            "##",
            "###"
        ]
    )
);
 php
foreach ($body->getLinks() as $line)
{
    $link = new \Yggverse\Gemini\Gemtext\Link(
        $line
    );

    var_dump(
        $link->getAddress()
    );

    var_dump(
        $link->getAlt()
    );
}
 php
var_dump(
    $link->getDate(
        $timestamp // get unix time from this variable
    )
);

var_dump(
    $timestamp
);
 php
$pango = \Yggverse\Gemini\Pango::fromGemtext(
    $gemtext
);
 php
$pango = \Yggverse\Gemini\Pango::fromGemtextBody(
    new \Yggverse\Gemini\Gemtext\Body(
        $gemtext
    )
);
 php
$reader = new \Yggverse\Gemini\Dokuwiki\Reader(
    // optional regex rule set array
);
 php
echo $reader->setRule(
    '/subject/ui',
    'replacement'
);
 php
echo $reader->setMacros(
    '~my-macros-key~',
    '~my-macros-value~',
);
 php
echo $reader->toGemini(
    file_get_contents(
        '/host/data/pages/index.txt'
    )
);
 php
$gemini = $reader->toGemini(
    file_get_contents(
        '/host/data/pages/index.txt'
    )
);

echo $reader->getH1(
    $gemini
);
 php
$gemini = $reader->toGemini(
    file_get_contents(
        '/host/data/pages/index.txt'
    )
);

echo $reader->getLinks(
    $gemini
);
 php
$filesystem = new \Yggverse\Gemini\Dokuwiki\Filesystem(
    '/host/data' // storage location
);
 php
var_dump (
    $filesystem->getList(
        'hello:world'
    )
);
 php
var_dump (
    $filesystem->getTree(
        'hello:world'
    )
);
 php
var_dump (
    $filesystem->getPagePathByUri(
        'hello:world'
    )
);
 php
var_dump (
    $filesystem->getMediaPathByUri(
        'hello:world'
    )
);
 php
var_dump (
    $helper->getChildrenSectionLinksByUri(
        'hello:world'
    )
);
 php
var_dump (
    $helper->getChildrenPageLinksByUri(
        'hello:world'
    )
);
 php
var_dump (
    $helper->getPageLinkByPath(
        $filesystem->getPagePathByUri(
            'hello:world'
        )
    )
);