More Related Content
PDF
PDF
PDF
PDF
PDF
unique_ptrにポインタ以外のものを持たせるとき PDF
PDF
PDF
What's hot
PDF
PPTX
An other world awaits you PDF
JavaScript 勉強会 ― 変数・演算子・文 PDF
PDF
PPTX
PDF
PDF
PDF
PPTX
PDF
PDF
Node.js Error & Debug Leveling PDF
PPTX
PPTX
PDF
PPT
PPTX
PDF
20分くらいでわかった気分になれるC++20コルーチン PDF
Similar to PHP language update 201211
PDF
Modern PHP Programming @ PFI Seminar PDF
PHP初心者セッション2023 〜ChatGPT時代の簡単な始め方〜 PPTX
PHPCON_TOKYO_2022_Bigginer.pptx PDF
PDF
PDF
PPTX
PDF
PDF
PDF
PHPの今とこれから2025 (PHP Conference Japan 2025) PDF
PDF
PDF
PDF
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情 PDF
PPTX
PDF
PDF
PHPの今とこれから2024 at PHP Conference Japan 2024 PDF
More from Moriyoshi Koizumi
PDF
PPTX
PPTX
Authentication, Authorization, OAuth, OpenID Connect and Pyramid PDF
All I know about rsc.io/c2go PPTX
PPTX
Pyramidのrendererをカスタマイズする PPTX
Hacking Go Compiler Internals / GoCon 2014 Autumn PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PHP language update 201211
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
PHP 5.5 alpha1の目玉 に基づく
断と偏見
独
1.ジェネレータとコルーチン
2.foreachで変数分解だ!!!!
3.empty()のカッコ内に変数
以外が指定可能に!?
4.finally
5.社畜バグ修正
- 7.
- 8.
ジェネレータとコルーチン
スクリプト 実行結果
<?php int(1)
function foo() { int(2)
yield 1;
yield 2; int(3)
yield 3;
}
foreach (foo() as $a) {
var_dump($a);
}
- 9.
ジェネレータとコルーチン
スクリプト 実行結果
<?php started
function coroutine() {
echo "startedn";
1
while (true) { 2
$val = yield;
echo "$valn";
}
}
$c = coroutine();
$c->send(1);
$c->send(2);
- 10.
ジェネレータとコルーチン
Pythonの場合
スクリプト 実行結果
def coroutine(): started
print("started") 1
while True: 2
val = yield
print(val)
c = coroutine()
c.next()
c.send(1)
c.send(2)
- 11.
- 12.
foreachで変数分解だ!!!!
スクリプト 実行結果
<?php
$list = array(
1, 2
array(1, 2), 3, 4
array(3, 4),
array(5, 6) 5, 6
);
foreach ($list as list($a, $b))
{
echo "$a, $bn";
}
- 13.
- 14.
- 15.
finallyの落とし穴
Fatal errorが発生すると
finallyが呼ばれない
<?php
try { Fatal error: Unsupported operand types
array() + 0;
} finally {
echo "finallyn"; // never get here!
}
- 16.
- 17.
社畜バグ修正
スクリプト
<?php
$d = newDateTime("2012-11-02");
echo $d->format('l'), "n";
$d->modify("+5 weekdays");
echo $d->format('l'), "n";
Bug #61642 modify("+5 weekdays") returns Sunday
実行結果 (∼PHP 5.4)
Friday _人人人人人人_
Sunday > 突然の社畜 <
 ̄^Y^Y^Y^Y^Y^Y ̄
- 18.
社畜バグ修正
スクリプト
<?php
$d = newDateTime("2012-11-02");
echo $d->format('l'), "n";
$d->modify("+5 weekdays");
echo $d->format('l'), "n";
実行結果 (PHP 5.5 alpha1)
Friday
Friday
- 19.