PHP? ?? ??? ??? ??? ???? ?????. ?? ??? ??? ?? ?? ?? ????? ??? ? ?????. ?????? PHP?? ?? ??? ???? ??? ? ?? ??? ???? ????. ??? ?? CPU ??? ???? ?????? ??? ???? ? ????.
??? ???? ???? 10,000?? ??? ?? ?? ?? ??? ?? ? ? ??? ??? ???? ??????.
?? ???? ???? ??? ??? ?? ?? ??? ??? ???? ????. ??? ???? ???? ?? ?? ???? ???? ???? ???? ??? ??? ??? ? ????.
??? ?? ??? ???? ??? ???? ?? ??? ?? ?????.
?????? ? ??????? ?? ??? ???? ?????? PHP? ??? ?? ? ?? ???? ????? ?? ?? ????. ??? ?? ???? ??? ????? ?? ???? ???? ?????? ?????. ??? ??? ??? ??? ?? ???? ??? ???? ?? ??? ??? ?? ?????? ??? ??? ? ?? ?????.
? ???? ???? ???? ?? ??? ???? ??? ?? ???? ??? ???????.
- ????? ???
- ????? ???? ?
- ?? ??? ???? ?? ??? ?????
- ?? ? ?? ??
- ??? ? ?? ??
- ??
????? ???
????? ???? ?
class A { public B $b; public function __construct() { $this->b = new B($this); } } class B { public function __construct(public A $a) {} }
? ??? A? B? ??? ?????. A? ????? ???? A? ???? B? ????? ?????. ??? ?? ?? ??? ?????.
?? ??? ????? gc_collect_cycles()
? ???? ??? ???? ???? ????? gc_status()
? ???? ??? ?? ?? ?? ? ????.
// 創(chuàng)建的對(duì)象但未分配給變量 new A(); gc_collect_cycles(); print_r(gc_status());
??? ?? ?????:
<code>Array ( ... [collected] => 2 ... )</code>
? ???? ??? ???? ?? ??? ?? ?? 2?? ???? ????? ?????.
xdebug_debug_zval()
??? ???? ??? ?? ?? ?? ? ?? ????.
?? ??? ???? ?? ??? ?????
?? ??? ??? ?? ??? ???? ?? ??? ???? ????. ?? ??? ??? ???? ???? ??? ???? ?? ???? ?? ??? ???? ?????. PHP??? WeakReference
???? ???? ?? ??? ?? ? ????.
?? ???? ??? ?? ??? ?????. ?? ??? B? A ?? ?? WeakReference
??? ?????. WeakReference
??? get()
???? ???? A ??? ????? ???.
class A { public B $b; public function __construct() { $this->b = new B($this); } } class B { /** @var WeakReference<a> $a */ public WeakReference $a; public function __construct(A $a) { $this->a = WeakReference::create($a); } }
// 創(chuàng)建的對(duì)象但未分配給變量 new A(); gc_collect_cycles(); print_r(gc_status()); // [collected] => 0
???? ??? ?? ?? ?? 0? ?? ? ? ????.
? 1: ?? ??? ???? ?? ??? ???? ?? ??? ?????.
?? ? ?? ??
PHP? ??? ??? ?? ??? ??? ???? ? ?? ??? ??? ????. ???? ??? ?? ??? ??? ? ????.
class A { public B $b; public function __construct() { $this->b = new B($this); } } class B { public function __construct(public A $a) {} }
? ??? ??? $a->b
? ?? ??? ?? $a
? ?????. ?? ??? ??? ???? ??? ?? ?? ? ????.
??? ???? ?? ??? ???? ? ??? ???? ??? ??? ??? ? ????. ??? ??? ???? $a
??? ????? ????? ???? ??? ??? ??? ?????.
// 創(chuàng)建的對(duì)象但未分配給變量 new A(); gc_collect_cycles(); print_r(gc_status());
? ???? ??? ?? ?? 2?? ?? ??? ?????.
???? $this ??
??? ??? ??? ??? ?? ??? ???? $this
? ????? ???? ?? ????($this
)? ?? ??? ????.
<code>Array ( ... [collected] => 2 ... )</code>
$this
??? ?? ????? ??? ???? ?????. Reflection::getClosureThis()
? ???? ??? ? ????.
class A { public B $b; public function __construct() { $this->b = new B($this); } } class B { /** @var WeakReference<a> $a */ public WeakReference $a; public function __construct(A $a) { $this->a = WeakReference::create($a); } }
???? ?? ?? ?? ?? ????? ??? ?? $this
??? null???.
? 2:
$this
? ???? ?? ?? ??static function () {}
??static fn () =>
? ???? ???? ????.
??? ? ?? ??
? ?? ? ??? ?? ?????????. ?? ??? ??? ?? ??? ??????. ???? ???? ?? ? ??? ?????.
? ??? ???? ???? ??? ????? ???? ?? ????? ?? $this
??? ????.
???? ????? ???? ?? ????? ?? ??? ?????.
// 創(chuàng)建的對(duì)象但未分配給變量 new A(); gc_collect_cycles(); print_r(gc_status()); // [collected] => 0
??? ????? ?? ????? ?? ??? ?? ???? ?? ??? ?? ?? ??? ??? ???? ?? ?????.
???? ???? ??? ???? ?? ????? ????? ?????.
function createCircularReference() { $a = new stdClass(); $a->b = function () use ($a) { return $a; }; return $a; }
? 3: ??? ?? ?? ???? ??????.
? 4: ?? ????? ?? ??? ???? ?? ????? ?? ???? ???? ???? ???? ????.
??
?? ??? PHP?? ??? ??? ???? ?????. ??? ???? ?? ??? ???? ??? ? ???? CPU ??? ???? ?????? ??? ???? ? ????. ??? ?? ??? ???? ??? ???? ?? ????? ??? ???? ???. ?? ??? ???? ?? ??? ??? ? ???, ?? ?? ???? ? ??? ?? ? ?? ??? ?? ????.
-
$this
? ???? ?? ??static function () {}
??static fn () =>
? ???? ???? ????. - ?? ??? ?? ???? ??????.
- ?? ????? ?? ??? ???? ???? ?? ???? ???? ???? ???? ?????.
??? ??
- PHP ??? ?? - ?? ?? ??
- PHP? ??? ????? ?????? ??? ??? ???? ??? ??????
- memprof - PHP? ??? ???. PHP ?????? ??? ??? ?? ? ??? ???.
- Xdebug ?? ???
? ??? PHP ??? ? ???? ?? ??? ??? ? ????.? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

PHP ?? ??? ?? ???? ?? ? ????? ??? ?????. 1. ?? ??? ??? ??? ??? ? ? ??? ??? ??? ?? ?? ??? ???? ???????. 2. ?? ??? ???? ???? ? ?? ????? ?? ?? ?? ??? ?????. 3. $ _get ? $ _post? ?? Hyperglobal ??? ?? ???? ?? ??? ? ??? ??? ??????? ???????. 4. ?? ?? ?? ???? ?? ?? ?? ??? ?????? ?? ??? ??? ?? ??? ???????. ??? ??? ????? ??? ??? ?? ???? ????? ? ??? ? ? ????.

PHP ?? ???? ???? ????? ?? ? ??? ???? ?? ?? ? ??? ???? ?? ??? ?????? ??? ??? ? ? ???????. 1. ??? ?? CSRF? ???? ?? ??? ??? ???? ?????? ??? ???? FINFO_FILE? ?? ?? MIME ??? ?????. 2. ??? ??? ??? ???? ??? ?? ??? ?? ? WEB ????? ??? ???? ??????. 3. PHP ?? ??? ?? ? ?? ???? NGINX/APACHE? ??? ????? ?? ???? ?????. 4. GD ?????? ??? ? ?? ???? ??? ?? ??? ?? ????.

PHP ?? ???? ? ?? ???? ??? ????. 1. // ?? #? ???? ? ?? ??? ???? // ???? ?? ????. 2. ?? /.../ ?? ?? ?? ??? ????? ?? ? ?? ??? ?? ? ? ????. 3. ?? ?? ?? / if () {} /? ?? ?? ??? ????? ??? ?? ?? ?? ??? ???? ????? ???? ??? ?? ???? ???? ??? ? ??? ??????.

Ageneratorinphpisamemory- ???? Way-Erate-Overgedatasetsetsbaluesoneatimeatimeatimeatimallatonce.1.generatorsuseTheyieldKeywordTocroadtOpvaluesondemand, RetingMemoryUsage.2

PHP ??? ???? ??? ??? ??? ????? ????. ??? ????? ?? ???? ??? "?? ? ?"??? "?"? ???????. 1. ??? ? ??? ??? DocBlock (/*/)? ?? ?? ??? ???? ??? ? ?? ???? ??????. 2. JS ??? ???? ?? ???? ??? ?? ??? ??? ?????. 3. ??? ?? ?? ?? ??? ???? ????? ????? ???? ?? ????? ???? ? ??????. 4. Todo ? Fixme? ????? ???? ? ? ??? ??? ???? ?? ?? ? ??? ???????. ??? ???? ?? ??? ??? ?? ?? ?? ???? ???? ? ????.

toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1. ??, downloadandinstallxAmpp, selectComponents, startApache ? placefilesinhtdocs.2

tolearnpheffectical, startBysetTupaloCalserErverEnmentUsingToolslikexamppandacodeeditor -likevscode.1) installxamppforapache, mysql, andphp.2) useacodeeditorforsyntaxsupport.3)) 3) testimplephpfile.next, withpluclucincludechlucincluclucludechluclucled

PHP??? ???? ??? ?? ?? ????? ???? ??? ?? ??? ??? ?? ? ??? ??? ???? ?????. ???? 0?? ???? ?? ??? ???? ? ?? ???? ?? ?? ? ? ????. MB_SUBSTR? ?? ??? ??? ???????. ? : $ str = "hello"; echo $ str [0]; ?? H; ??? MB_SUBSTR ($ str, 1,1)? ?? ??? ??? ??? ??????. ?? ???????? ???? ??? ???? ?? ???? ?? ?? ???? ?????? ??? ????? ?? ??? ?? ??? ???? ???? ?? ????.
