テスト済み
諏訪子 <suwako@076.moe>、2026-05-06 04:11
コミット ca9e2f8b1d41d63902deff6ebdc89eeca04ddc94
・親 18fe403
・ファイルを見る
7個のファイル、+18 -17
変更
CHANGELOG.md
| @@ -1,5 +1,6 @@ | ||
| 1 | 1 | # 0.5 (2026年??月??日) |
| 2 | 2 | * OpenProviderライブラリ |
| 3 | +* PHP 8.5以上が必須になった | |
| 3 | 4 | |
| 4 | 5 | # ローリング・リリース (2025年01月01日) |
| 5 | 6 | * 最初プライベートリリース |
変更
README-JP.md
| @@ -7,7 +7,7 @@ | ||
| 7 | 7 | サンプル:[https://lbdemo.technicalsuwako.moe/](https://lbdemo.technicalsuwako.moe/) |
| 8 | 8 | |
| 9 | 9 | ## Little Beast とは? |
| 10 | -Little Beast は PHP 8.3 以上向けのフレームワークで、076.moe(ゲーム開発会社)と technicalsuwako.moe(社長のブログ)向けに作られました。\ | |
| 10 | +Little Beast は PHP 8.5 以上向けのフレームワークで、076.moe(ゲーム開発会社)と technicalsuwako.moe(社長のブログ)向けに作られました。\ | |
| 11 | 11 | メイン考え方は「必要な物だけ拡張し、不要な物は削除する」です。\ |
| 12 | 12 | 各コア機能はライブラリに分割されている為、必要な物だけを選び易い設計になっています。\ |
| 13 | 13 | 全てのモジュールはゼロから書かれており、データベースは一切必要ありません。 |
| @@ -68,9 +68,9 @@ | ||
| 68 | 68 | |
| 69 | 69 | ### OpenBSD サーバー |
| 70 | 70 | ```sh |
| 71 | -pkg_add php-8.4.14 php-gmp-8.4.14 | |
| 72 | -rcctl enable php84_fpm httpd relayd | |
| 73 | -rcctl start php84_fpm httpd relayd | |
| 71 | +pkg_add php-8.5.5 php-gmp-8.5.5 | |
| 72 | +rcctl enable php85_fpm httpd relayd | |
| 73 | +rcctl start php85_fpm httpd relayd | |
| 74 | 74 | ``` |
| 75 | 75 | |
| 76 | 76 | #### httpd |
変更
README.md
| @@ -7,7 +7,7 @@ | ||
| 7 | 7 | Demo installation: [https://lbdemo.technicalsuwako.moe/](https://lbdemo.technicalsuwako.moe/) |
| 8 | 8 | |
| 9 | 9 | ## What is Little Beast? |
| 10 | -Little Beast is a PHP 8.3 or above framework made for 076.moe (game developer company) and technicalsuwako.moe (CEO's blog).\ | |
| 10 | +Little Beast is a PHP 8.5 or above framework made for 076.moe (game developer company) and technicalsuwako.moe (CEO's blog).\ | |
| 11 | 11 | The core mentality is to extend what you need, and remove what you don't need.\ |
| 12 | 12 | Each core feature is split into libraries, so it is easy to choose what you need.\ |
| 13 | 13 | All modules are written from scratch, nothing is to be require a database. |
| @@ -68,9 +68,9 @@ | ||
| 68 | 68 | |
| 69 | 69 | ### OpenBSD server |
| 70 | 70 | ```sh |
| 71 | -pkg_add php-8.4.14 php-gmp-8.4.14 | |
| 72 | -rcctl enable php84_fpm httpd relayd | |
| 73 | -rcctl start php84_fpm httpd relayd | |
| 71 | +pkg_add php-8.5.5 php-gmp-8.5.5 | |
| 72 | +rcctl enable php85_fpm httpd relayd | |
| 73 | +rcctl start php85_fpm httpd relayd | |
| 74 | 74 | ``` |
| 75 | 75 | |
| 76 | 76 | #### httpd |
変更
route.php
| @@ -66,7 +66,7 @@ | ||
| 66 | 66 | ]; |
| 67 | 67 | |
| 68 | 68 | if (ACTIVITYPUB_ENABLED) { |
| 69 | - $routes[] = Route::add('GET', '.well-known/webfinger', Home::class.'@apfinger'); | |
| 69 | + $routes[] = Route::add('GET', '.well-known/webfinger', Fediverse::class.'@apfinger'); | |
| 70 | 70 | $routes[] = Route::add('GET', 'ap/following', Fediverse::class.'@apfollowing'); |
| 71 | 71 | $routes[] = Route::add('GET', 'ap/followers', Fediverse::class.'@apfollowers'); |
| 72 | 72 | $routes[] = Route::add('GET', 'ap/outbox', Fediverse::class.'@apoutbox'); |
| @@ -39,7 +39,7 @@ | ||
| 39 | 39 | |
| 40 | 40 | use Std\Lib\Curl; |
| 41 | 41 | use LogType; |
| 42 | -use Uri\Rfc3986; | |
| 42 | +use Uri\Rfc3986\Uri; | |
| 43 | 43 | |
| 44 | 44 | /** |
| 45 | 45 | * ActivityPubプロトコルの実装クラス |
| @@ -299,14 +299,14 @@ | ||
| 299 | 299 | */ |
| 300 | 300 | public function getWebfinger(): string { |
| 301 | 301 | if (!ACTIVITYPUB_ENABLED) return ''; |
| 302 | - $domain = str_replace(['http://', 'https://'], '', $this->domain); | |
| 302 | + $uri = new Uri($this->domain); | |
| 303 | 303 | $webfinger = [ |
| 304 | - 'subject' => "acct:{$this->actor}@{$domain}", | |
| 304 | + 'subject' => "acct:{$this->actor}@{$uri->getHost()}", | |
| 305 | 305 | 'links' => [ |
| 306 | 306 | [ |
| 307 | 307 | 'rel' => 'self', |
| 308 | 308 | 'type' => 'application/activity+json', |
| 309 | - 'href' => "{$domain}/ap/actor", | |
| 309 | + 'href' => "{$this->domain}/ap/actor", | |
| 310 | 310 | ], |
| 311 | 311 | ], |
| 312 | 312 | ]; |
| @@ -38,7 +38,7 @@ | ||
| 38 | 38 | namespace Std\Lib; |
| 39 | 39 | |
| 40 | 40 | use Result; |
| 41 | -use Uri\Rfc3986; | |
| 41 | +use Uri\Rfc3986\Uri; | |
| 42 | 42 | |
| 43 | 43 | /** |
| 44 | 44 | * php_curlへの依存を排除するための独自のCURL実装 |
| @@ -365,7 +365,7 @@ | ||
| 365 | 365 | $port = $uri->getPort() ?? ($scheme === 'https' ? 443 : 80); |
| 366 | 366 | $path = $uri->getPath(); |
| 367 | 367 | if ($path === '') $path = '/'; |
| 368 | - if (isset($uri->getQuery())) { | |
| 368 | + if (NULL !== $uri->getQuery()) { | |
| 369 | 369 | $path .= '?'.$uri->getQuery(); |
| 370 | 370 | } |
| 371 | 371 | |
| @@ -639,7 +639,7 @@ | ||
| 639 | 639 | if ($redirectUrl[0] === '/') { |
| 640 | 640 | $uri = new Uri($currentUrl); |
| 641 | 641 | $redirectUrl = $uri->getScheme().'://'.$uri->getHost() |
| 642 | - .(isset($uri->getPort()) ? ':'.$uri->getPort() : '') | |
| 642 | + .(NULL !== $uri->getPort() ? ':'.$uri->getPort() : '') | |
| 643 | 643 | .$redirectUrl; |
| 644 | 644 | } else { |
| 645 | 645 | $redirectUrl = dirname($currentUrl).'/'.$redirectUrl; |
| @@ -20,7 +20,7 @@ | ||
| 20 | 20 | {@ endif @} |
| 21 | 21 | {@ endif @} |
| 22 | 22 | <meta name="description" content="{{ $description }}" /> |
| 23 | - <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 @}" /> | |
| 23 | + <meta name="keywords" content="{{ SITEINFO['tags'].(isset($meta->category) ? ','.implode(',', $meta->category) : '') }}" /> | |
| 24 | 24 | |
| 25 | 25 | <meta property="og:title" content="{{ SITEINFO['title'] }}: {{ $pagetit }}" /> |
| 26 | 26 | <meta property="og:description" content="{{ $description }}" /> |