XNUMX๋
์ ๊ฐ๋ฐ ๋์
์ด์
-
์ ํํ๋ ์์ฑ - ์ด์ ํด๋์ค ์์ฑ์ ์ ํ ์ ์ธ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์:ํด๋์ค ์ฌ์ฉ์ {
๊ณต๊ฐ int $id;
๊ณต๊ฐ ๋ฌธ์์ด $name;
} -
์ฝ์นญ ๊ฐ์ผ๋ก ๋ฒ์ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ์ฌ "fn(parameter_list) => expr" ํจ์๋ฅผ ์ ์ํ๊ธฐ ์ํ ๊ตฌ๋ฌธ์ ๋๋ค. ์๋ฅผ ๋ค์ด, "fn($x) => $x + $y"๋ "$fn2 = function ($x) use ($y) {return $x + $y;}")์ ์ ์ฌํฉ๋๋ค. -
์๊ธฐ ํ ๋น ์ฐ์ฐ์ ๊ธฐ๋ณธ๊ฐ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ "??="("a ??= b"๋ "a = a ?? b"์ ์ ์ฌํฉ๋๋ค. "a"๊ฐ ์ ์๋๋ฉด ํด๋น ๊ฐ์ด ์ ์ฅ๋๊ณ ์ ์๋์ง ์์ผ๋ฉด ์ ์ฅ๋ฉ๋๋ค. ๊ฐ "b"๊ฐ ํ ๋น๋จ ); - ์ ํ๋
๊ธฐํ ํ์๋ ๋ฐํ ์ ํ์์ ์ ํ์ ์์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ ์งํ๊ฑฐ๋ ํ์๋ ์ธ์ ์ ํ์์ ์๋ ์ ํ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ญ์ ํ๋ ๊ธฐ๋ฅ(๊ณต๋ถ์ฐ ๋ฐํ ์ ํ ๋ฐ ์ธ์ ์ ํ ๋ฐ๊ณต๋ณ์ฑ). ์ด์ PHP์์ ๋ค์ ๊ตฌ์ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.ํด๋์ค A {}
ํด๋์ค B๋ A {}๋ฅผ ํ์ฅํฉ๋๋ค.ํด๋์ค ํ๋ก๋์ {
๊ณต๊ฐ ํจ์ ๋ฉ์๋(): A {}
}
ChildProducer ํด๋์ค๋ Producer {๋ฅผ ํ์ฅํฉ๋๋ค.
๊ณต๊ฐ ํจ์ ๋ฉ์๋(): B {}
} - ๋ฐฐ์ด "...$var" ๋ด๋ถ์ ์ฐ์ฐ์ ์์ถ ํ๊ธฐ,
ํ์ฉ ์ ๋ฐฐ์ด์ ์ ์ํ ๋ ๊ธฐ์กด ๋ฐฐ์ด์ ๋์ฒดํฉ๋๋ค.$parts = ['์ฌ๊ณผ', '๋ฐฐ'];
$fruits = ['๋ฐ๋๋', '์ค๋ ์ง', โฆ$parts, '์๋ฐ'];
// ['๋ฐ๋๋', '์ค๋ ์ง', '์ฌ๊ณผ', '๋ฐฐ', '์๋ฐ']; -
๊ธฐํ ์ซ์ ๋ฆฌํฐ๋ด์ ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ์๋ ํฐ ์ซ์์ ์๊ฐ์ ํํ(1_000_000_00) - ์ง์
์ฝํ ๋งํฌ , ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์งํ ์ ์์ง๋ง ๊ฐ๋น์ง ์์ง๊ธฐ๊ฐ ๊ด๋ จ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ์ฐจ๋จํ์ง ์์ต๋๋ค. - ์๋ก์ด
ะผะตั ะฐะฝะธะทะผ ๊ฐ์ฒด ์ง๋ ฌํ(์ง๋ ฌํ ๊ฐ๋ฅ ๋ฐ __sleep()/__wakeup()์ ์กฐํฉ). ์ด๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ ์ง๋ ฌํ ๊ฐ๋ฅ ์ธํฐํ์ด์ค๋ฅผ ๋์ฒดํฉ๋๋ค.// ๊ฐ์ฒด์ ๋ชจ๋ ์ํ๋ฅผ ํฌํจํ๋ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
๊ณต๊ฐ ํจ์ __serialize(): ๋ฐฐ์ด;// ๋ฐฐ์ด์์ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ณต์ํฉ๋๋ค.
๊ณต๊ฐ ํจ์ __unserialize(array $data): void; - ๋ฉ์๋์์ ์์ธ ๋ฐ์์ด ํ์ฉ๋จ
__toString() ; - ๊ฐ์ฒด ์ฝ๋ ์บ์ ์ฌ์ ๋ก๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ค์ ์ ์ํ ๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
opcache.preload , ์ด๋ฅผ ํตํด ์๋ฒ๊ฐ ์์๋ ๋ ์ปดํ์ผ๋๊ณ ์คํ๋ PHP ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ์คํฌ๋ฆฝํธ๋ ์ง์ ํฌํจํ๊ฑฐ๋ opcache_compile_file() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ์ผ์ opcode๋ฅผ ๋ก๋ํ ์ ์์ต๋๋ค. - Castagnoli ๋คํญ์์ ์ฌ์ฉํ์ฌ ์ฒดํฌ์ฌ์ ๊ณ์ฐํ๊ธฐ ์ํด ํด์ ํ์ฅ์ crc32c ํจ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- PHP๊ฐ libargon ์์ด ๋น๋๋ ๊ฒฝ์ฐ Sodium ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ตฌํ์์ ๋น๋ฐ๋ฒํธ ํด์ฑ ๋ฐฉ๋ฒ argon2i ๋ฐ argin2id์ ๋ํ Password_hash() ํจ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- str_split()๊ณผ ์ ์ฌํ์ง๋ง ๋ฐ์ดํธ๊ฐ ์๋ ๋ฉํฐ๋ฐ์ดํธ ๋ฌธ์์ด์ ๋ฌธ์ ์์น๋ก ์๋ํ๋ mb_str_split() ํจ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ด์ Strip_tags() ํจ์์๋ ํ๊ทธ ์ด๋ฆ์ด ํฌํจ๋ ๋ฐฐ์ด์ ์ ๋ฌํ ์ ์๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ด์ Strip_tags($str, ' ') ๋์ ์ Strip_tags($str, ['a', 'p']);๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
- proc_open()์ ์ฌ์ฉํ๋ฉด ์คํํ ๋ฌธ์์ด์ด ์๋ ๋ฐฐ์ด์ ํผ์ฐ์ฐ์๋ฅผ ๋์ดํ ์ ์์ผ๋ฉฐ ์ค๋ ๋ ๋ฆฌ๋๋ ์
๋ฐ ๋ ํ์ผ ์ค๋ช
์์ ๋ํ ์ง์๋ ์ ๊ณตํฉ๋๋ค.
proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes);
// ์์ 2>&1๊ณผ ๊ฐ์ต๋๋ค.
proc_open($cmd, [1 => ['ํ์ดํ', 'w'], 2 => ['๋ฆฌ๋๋ ์ ', 1]], $pipes);// ์์์๋ 2>/dev/null ๋๋ 2>nul๊ณผ ๊ฐ์ต๋๋ค.
proc_open($cmd, [1 => ['ํ์ดํ', 'w'], 2 => ['null']], $pipes); - Firebird/Interbase, Recode ๋ฐ WDDX ํ์ฅ์ ๊ธฐ๋ณธ ๋ฐฐํฌ์์ ์ ์ธ๋ฉ๋๋ค. ์ด๋ฌํ ํ์ฅ์ ์ด์ PECL์ ํตํด ๋ฐฐํฌ๋ฉ๋๋ค.
- ์นดํ
๊ณ ๋ฆฌ๋ก ์ด๋๋จ
๊ตฌ์์ ๊ดํธ ์์ด ์ค์ฒฉ๋ ์ผํญ ์ฐ์ฐ์, ์ค๊ดํธ(โ$var{$idx}โ)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด ์์ ๋ฐ ๋ฌธ์์ด์ ์ก์ธ์ค, is_real() ๋ฐ ์ค์๋ก ์บ์คํ , ์์ ํด๋์ค ์์ด ์์ ํค์๋ ์ฌ์ฉ, ๋งค๊ฐ๋ณ์ ํ์ฉ_url_include ๊ตฌ์ฑ, ์ฌ์ฉ ๋ฑ์ ๊ธฐ๋ฅ ๊ฐ์ฒด์ ๋ํ array_key_exists().get_magic_quotes_gpc(), get_magic_quotes_runtime() ํจ์ ๋ฐ
hebrevc(), Convert_cyr_string(), Money_format(), ezmlm_hash(), Restore_include_path(), ldap_control_paged_result_response(), ldap_control_paged_result(), ReflectionType::__toString().ํจ์์์ ์๋ชป๋ ๊ธฐํธ๋ฅผ ์ฒ๋ฆฌํ๋ ค๊ณ ํ ๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ธฐ๋ฅ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๊ฐ ์ ๊ณต๋์์ต๋๋ค.
base_convert(), bindec(), octdec() ๋ฐ hexdec(), ๊ทธ๋ฆฌ๊ณ mb_ereg_replace()์์ ๋ฌธ์์ด์ด ์๋ ํจํด์ ์ง์ ํ ๋.
์ถ์ฒ : opennet.ru