Page 1
PHPの20年とこれから
20 years of PHP and beyond
pixiv Inc.
USAMI Kenta
2023-09-15 ZORKS沖縄
(非公式)PHPカンファレンス沖縄2024 前夜祭LT会
公開日:
by USAMI Kenta@tadsan
に東京都港区台場のdocomo R&D OPEN LAB ODAIBAで開催された『Learn Languages 2023』で20分枠として発表しました。
に沖縄県那覇市安里のZORKS沖縄で開催された『(非公式)PHPカンファレンス沖縄2023前夜祭LT会』で15分枠として発表しました。
PHPの20年とこれから
20 years of PHP and beyond
pixiv Inc.
USAMI Kenta
2023-09-15 ZORKS沖縄
(非公式)PHPカンファレンス沖縄2024 前夜祭LT会
お前誰よ
emacs-php
このトークの文脈
毎年開催されている言語横断イベント
2017以降
2023年のLLイベントは
改めて
<?php
PHPって
どんな言語?
とにかく毀誉褒貶が
激しい言語ランタイム
Webトラフィック
W3Techs 統計
パッケージ数
PHPはどこで
使えるのか
PHPは汎用プログラミング言語
PHPは汎用プログラミング言語
PHPは汎用プログラミング言語
みなさんの想像する
PHPとは
A
<!DOCTYPE html>
<html><head><title>Hello, PHP!</title></head>
<p>
<?php if (date('H') < 19): ?>
こんにちは
<?php else: ?> こんばんは
<?php endif; ?>
</p>
<p>今は<?= htmlspecialchars(date('H')) ?>時です</p>
B
<?php require 'bootstrap.php';
$db = mysqli_connect();
$stmt = mysqli_prepare($db, 'SELECT * FROM books');
mysqli_stmt_execute($stmt); print '<h1>本の一覧</h1>';
print '<ul>';
foreach ($stmt as $s) {
print '<li>'; print $s->name; print '</li>';
}
print '</ul>';
C
<?php declare(strict_types=1);
namespace Foo\Http\Controller;
class BooksController extends BaseController {
public function index() {
$books = Books::getAll();
$this->render(compact("books"));
}
}
P H P の原作者
ラスマスかく語りき
2007年 MySQL Conference
“We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told
you you should be using.
I don't care about this crap at all.”
–Rasmus Lerdorf
https://en.wikiquote.org/wiki/Rasmus_Lerdorf
2007年 MySQL Conference
には プロパティも
“PHP protected
抽象メソッドもありますよ。計算機科学の
教授が「使え」と言ってるものは全部。
そんなことはクソ興味ないですけど
”
(tadsan )
–Rasmus Lerdorf
による超訳
変数に$があって
Perlっぽくて
C言語っぽい
関数と
-> があって
雰囲気Javaっぽい オブジェクト指向で
PHPは見る人の心を映す
改めて2003年
PHPの歴史 (LLイベント以前)
‒ PHPの今とこれから
http://ll.jus.or.jp/2003/document/p1-php.pdf
‒ PHPの今とこれから2009
https://www.slideshare.net/hirokawa/php2009
‒ PHPの今とこれから2009
https://www.slideshare.net/hirokawa/php2009
‒ 開発中の PHP 6、UTF-16 化に失敗。開発ブランチも 5.3 系に巻き戻し
https://srad.jp/story/10/03/19/0136250/
PHPと文字列
‒ Lightweight Language Saturday プログラム
http://ll.jus.or.jp/2003/program.html
‒ PHPにおけるオブジェクト指向「的」機能の特徴
http://ll.jus.or.jp/2003/document/p2-php.pdf
‒ PHPにおけるオブジェクト指向「的」機能の特徴
http://ll.jus.or.jp/2003/document/p2-php.pdf
PHPのオブジェクト指向機能
PHPのオブジェクト指向機能
<?php <?php
class Book { class Book {
/** public function __construct(
* @var string public readonly string $name,
* @readonly ) { */ }
private $name;
...
/** @param string $name */
public function __construct($name) {
$this->name = $name;
...
PHPの歴史 (LLイベント以後)
PHPの開発体制
PHPは誰が開発しているのか
PHPはどこに行くのか
おそらく溝は広まりつつある
PHPは過去と未来を繋ぐ言語
Webの世界のトレンド
PHPはどこでも65点がとれる言語
PHP先生の
雑草のような生命力に
ご期待ください!
