テスト済み

This commit is contained in:
2026-05-06 04:11:03 +09:00
parent 18fe4030a3
commit ca9e2f8b1d
7 changed files with 19 additions and 18 deletions

View File

@@ -1,5 +1,6 @@
# 0.5 (2026年??月??日)
* OpenProviderライブラリ
* PHP 8.5以上が必須になった
# ローリング・リリース (2025年01月01日)
* 最初プライベートリリース

View File

@@ -7,7 +7,7 @@
サンプル:[https://lbdemo.technicalsuwako.moe/](https://lbdemo.technicalsuwako.moe/)
## Little Beast とは?
Little Beast は PHP 8.3 以上向けのフレームワークで、076.moeゲーム開発会社と technicalsuwako.moe社長のブログ向けに作られました。\
Little Beast は PHP 8.5 以上向けのフレームワークで、076.moeゲーム開発会社と technicalsuwako.moe社長のブログ向けに作られました。\
メイン考え方は「必要な物だけ拡張し、不要な物は削除する」です。\
各コア機能はライブラリに分割されている為、必要な物だけを選び易い設計になっています。\
全てのモジュールはゼロから書かれており、データベースは一切必要ありません。
@@ -68,9 +68,9 @@ HTTP サーバーを設定して `/public` をルートとして `php-fpm` で
### OpenBSD サーバー
```sh
pkg_add php-8.4.14 php-gmp-8.4.14
rcctl enable php84_fpm httpd relayd
rcctl start php84_fpm httpd relayd
pkg_add php-8.5.5 php-gmp-8.5.5
rcctl enable php85_fpm httpd relayd
rcctl start php85_fpm httpd relayd
```
#### httpd

View File

@@ -7,7 +7,7 @@ Simple, Pragmatic, Anti-bloat
Demo installation: [https://lbdemo.technicalsuwako.moe/](https://lbdemo.technicalsuwako.moe/)
## What is Little Beast?
Little Beast is a PHP 8.3 or above framework made for 076.moe (game developer company) and technicalsuwako.moe (CEO's blog).\
Little Beast is a PHP 8.5 or above framework made for 076.moe (game developer company) and technicalsuwako.moe (CEO's blog).\
The core mentality is to extend what you need, and remove what you don't need.\
Each core feature is split into libraries, so it is easy to choose what you need.\
All modules are written from scratch, nothing is to be require a database.
@@ -68,9 +68,9 @@ That's all!
### OpenBSD server
```sh
pkg_add php-8.4.14 php-gmp-8.4.14
rcctl enable php84_fpm httpd relayd
rcctl start php84_fpm httpd relayd
pkg_add php-8.5.5 php-gmp-8.5.5
rcctl enable php85_fpm httpd relayd
rcctl start php85_fpm httpd relayd
```
#### httpd

View File

@@ -66,7 +66,7 @@ $routes = [
];
if (ACTIVITYPUB_ENABLED) {
$routes[] = Route::add('GET', '.well-known/webfinger', Home::class.'@apfinger');
$routes[] = Route::add('GET', '.well-known/webfinger', Fediverse::class.'@apfinger');
$routes[] = Route::add('GET', 'ap/following', Fediverse::class.'@apfollowing');
$routes[] = Route::add('GET', 'ap/followers', Fediverse::class.'@apfollowers');
$routes[] = Route::add('GET', 'ap/outbox', Fediverse::class.'@apoutbox');

View File

@@ -39,7 +39,7 @@ namespace Std\Lib;
use Std\Lib\Curl;
use LogType;
use Uri\Rfc3986;
use Uri\Rfc3986\Uri;
/**
* ActivityPubプロトコルの実装クラス
@@ -299,14 +299,14 @@ class ActivityPub {
*/
public function getWebfinger(): string {
if (!ACTIVITYPUB_ENABLED) return '';
$domain = str_replace(['http://', 'https://'], '', $this->domain);
$uri = new Uri($this->domain);
$webfinger = [
'subject' => "acct:{$this->actor}@{$domain}",
'subject' => "acct:{$this->actor}@{$uri->getHost()}",
'links' => [
[
'rel' => 'self',
'type' => 'application/activity+json',
'href' => "{$domain}/ap/actor",
'href' => "{$this->domain}/ap/actor",
],
],
];

View File

@@ -38,7 +38,7 @@ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
namespace Std\Lib;
use Result;
use Uri\Rfc3986;
use Uri\Rfc3986\Uri;
/**
* php_curlへの依存を排除するための独自のCURL実装
@@ -365,7 +365,7 @@ class Curl {
$port = $uri->getPort() ?? ($scheme === 'https' ? 443 : 80);
$path = $uri->getPath();
if ($path === '') $path = '/';
if (isset($uri->getQuery())) {
if (NULL !== $uri->getQuery()) {
$path .= '?'.$uri->getQuery();
}
@@ -639,7 +639,7 @@ class Curl {
if ($redirectUrl[0] === '/') {
$uri = new Uri($currentUrl);
$redirectUrl = $uri->getScheme().'://'.$uri->getHost()
.(isset($uri->getPort()) ? ':'.$uri->getPort() : '')
.(NULL !== $uri->getPort() ? ':'.$uri->getPort() : '')
.$redirectUrl;
} else {
$redirectUrl = dirname($currentUrl).'/'.$redirectUrl;

View File

@@ -20,7 +20,7 @@
{@ endif @}
{@ endif @}
<meta name="description" content="{{ $description }}" />
<meta name="keywords" content="{{ SITEINFO['tags'].(isset($meta->category) ? ',' : '') }}{@ if (isset($meta) && isset($meta->category)) @}{@ foreach ($meta->category as $k => $cat) @}{{ $cat.($k === array_last($meta->category) ? '' : ',') }}{@ endforeach @}{@ endif @}" />
<meta name="keywords" content="{{ SITEINFO['tags'].(isset($meta->category) ? ','.implode(',', $meta->category) : '') }}" />
<meta property="og:title" content="{{ SITEINFO['title'] }}: {{ $pagetit }}" />
<meta property="og:description" content="{{ $description }}" />