Page 1
PHP勉強会 in 新潟!
PHP Study in Niigata!
pixiv Inc.
USAMI Kenta
PHP勉強会in新潟!
2024-06-07 #niigata _php
公開日:
by USAMI Kenta@tadsan
に新潟県新潟市中央区明石のスペースコンフォートで開催された『PHP勉強会in新潟!』でライトニングトーク(5分)として発表しました。
PHP勉強会 in 新潟!
PHP Study in Niigata!
pixiv Inc.
USAMI Kenta
PHP勉強会in新潟!
2024-06-07 #niigata _php
お前誰よ
PHPerKaigi
PHPerKaigi
PHP Lovers Meetup
PHPのとりとめのない 話をするのが好きです
マニアックな話に
寄りがち
PHPを使うなら
誰も避けられないもの
ファンクション 関数
標準関数は言語の魂
Ruby
関数?そんなものはない
Python
公開APIと型演算
PHP
?????
PHPの標準関数の数は いくつあるでしょうか
ヒント:
Python 3.10は71個 (型を除くと56個くらい)
答え:
わかんない
???
関数は
どこからくるの?
関数定義を探しにいこう
https://github.com/php/php-src
C言語で定義されています
C言語で定義されています
ここを抜き出せば
関数一覧を作れる?
rg -g '*.c' -o
'^(?:ZEND|PHP)_FUNCTION\(.+\)' |
cut -d: -f2 | sort -u | uniq | wc -l
まじで???
PHPマニュアルを
見にいこう
PHPには関数がいっぱい
PHPには関数がいっぱい
これ全部読むの…?
実は関数一覧のJSONがある
curl
http://doc.php.net/downloads/json/php_manual_en.json
| jq-rs '[ .[] | keys ] | flatten |
unique | .[]' | grep -v :: | wc -l
増えたんですが…
PHPには関数がいっぱい
ここから辿る
PHPには関数がいっぱい
われわれの知る
標準関数はこのへん
おなじみの関数がいっぱい
拡張モジュール(Extension)とは
拡張モジュールの種類
Docker
(PHP Official Image)
mbstringはデフォルト有効
Debianではモジュールごとのapt
よく使われるモジュールも 明示的にインストールが必要
WindowsではDLL同梱
php.ini
Windowsの場合のphp.ini
必要なところだけ ; を消す
話を戻しましょう
狭義の標準関数=
コア拡張に属する関数
取材班は関数の数を 数えるためJSONに 向き合うことにした
php_manual_en.json
区切り文字がない関数名
ていねいな正規表現でキャッチ
スクリプトはここにあります
ていねいな正規表現調べ
780個の関数を
覚えられるか
😇
数が多すぎるので
馴染みのない関数を 調べる方が筋がいい
どうやって関数を探す?
関数名 検索
php [ ]
🙅
php.net/json_encode
php.net/DateTime
php.net/$_SERVER
特定の関数から
追っていく
たとえば
配列を処理したい
適当な配列関数にアクセス
ここから辿る
日本語説明付き一覧がある
言語を横断して関数に
使われがちな語彙も
身につけられる
好きな関数発表ドラゴンが
好きな関数を発表します
Favorite-function-announcing dragon
pixiv Inc.
USAMI Kenta
PHP勉強会in新潟!
2024-06-07 #niigata _php
count()
usort()
in_array()
指定したキーを 値で埋めるやつ
array_fill_keys()
正式名称がわからない関数も
好き 好き 大好き
strlen()
explode()
sprintf()
編集距離を 数えるやつ
levenshtein()
正式名称がわからない関数も
好き 好き 大好き
好きな関数がまた出てきたそのときは
発表したい
発表したい
…………。
みなさんに
PHP 8.4最新関数を
お伝えしよう
日本語説明付き一覧がある
