PHP? ?? API? ???? ???? ??? ???? ?? ? ? ????. 1) ReflectionClass? ?? ???? ?? ?? ??? ?????. 2) ?? API? ?? ??? Zend ??? ?? ????. 3) ?? ????? ??? ?? ??? ?????. 4) ?? ??? ??? ?? ????? ??? ? ????. 5) Try-Catch? ?? ???? ??? ???????. 6) ?? ??? ???? ?? ?? ??? ???? ??? ??? ?? ?????.
??
??? PHP?? ???? ??? ???? ?? ? ??? ??? ??? ???, ??? ?? ??? ??? ? ?? API???. ? ??? ?? Reflection API? ?? ??, ?? ?? ? ?? ?????? ???? ???? ??? ?? ??????. PHP? ?? ??? ????? ?? ??? ?????? ?????, ??? ?? ?? ? ????.
?? ?? ??
?? API ?? ?? API? ???, ???, ?? ?? ??? ??? ??? PHP? ?????. ??? ??? ?? ????? ??? ?????. ??? ???, ???? ?? ??? ???? ???? ????? ?????. PHP?? ??? ?? ReflectionClass
, ReflectionMethod
, ReflectionProperty
? ?? ???? ?? ?????.
?? ??, PHP? ???? ??? ?? ?? ? ?? ??? ??? ???? ??? ???? ??? ??? ? ??? ?? ?? ????? ??? ???? ?? ???? ?? ????.? ??? ????? ?? ??? ?? ??? ? ? ????.
?? ?? ?? ?? ??
?? API? ?? ? ??
?? API? ??? ???? ??? ???? ???? ?? ? ? ????? ????. ??? ??? ?? ???? ??? ??? ?? ??? ??? ????? ??? ??? ? ????. ??? ?? ?? ??, ??? ?? ?? ?? ?? ?? ??? ??? ??? ???? ? ??? ? ? ????.
??? ?? ??, ??? ?? ??? ??? ?? ??? ??? ?? ? ? ????.
$ class = new ReflectionClass ( 'myclass'); $ methods = $ class-> getMethods (); foreach ($ methods as $ method) { echo $ method-> getName (). "\N"; }
? ? ??? ReflectionClass
???? ???? ??? ??? ?? ??? ?????.
?? ??
?? API? ?? ??? ??? ?? ???? ?? ?????. ? ???? PHP? ?? ??? ?? ?? ??? ??? ????? ?? API? ?????. ?? ??, ReflectionClass
??, ??, ?? ?? ???? ???? ??? ?? ?????. ? ?? ??????? ??? ??? ?? ? ??? ??? ?? ? ?? ? ??? ????.
??? ???? PHP ??? ?? ???? ???? PHP? Zend ??? ?????. ?? API? ??? Zend ??? ???? ?? ??? ???? ???? ?? API? ??????. ?? ??? ????? ?? ?? ? ??? ????? ?? ?? ??? ?????.
??? ?
?? ??
?? API? ? ?? ?? ???? ?? ?????. User
??? ?? ?? ??? ???????? ?? ? ???.
??? ??? { ?? $ ??; ?? ?? __construct ($ name) { $ this-> name = $ name; } ?? ?? getName () { $ this-> ??? ?????. } } $ class = new ReflectionClass ( '???'); Echo "??? ?? :". $ class-> getName (). "\N"; ?? "????? ????" ($ class-> isinstantible ()? '?': '???'). "\N"; $ constructor = $ class-> getConstructor (); Echo "??? ?? :". $ ???-> getName (). "\N"; $ properties = $ class-> getProperties (); foreach ($ properties as $ property) { ?? "?? :". $ property-> getName (). "\N"; } $ methods = $ class-> getMethods (); foreach ($ methods as $ method) { Echo "Method :". $ method-> getName (). "\N"; }
? ??? ?? API? ???? ??? ??, ???????, ???, ?? ? ???? ??? ???? ?? ??? ???? ??? ?????.
?? ??
?? API? ?? ? ?? ??? ????? ?? ? ? ????? ????. ?? ??, ??? ???? ??? ??? ?? ????? ??? ? ????.
??? ???? { ?? $ ???? = []; ?? ?? get ($ class) { if (! isset ($ this-> instances [$ class])) { $ ?? = ??? ?? ??? ($ class); $ ??? = $ Reflection-> getConstructor (); if ($ ???) { $ parameters = $ constructor-> getParameters (); $ args = []; foreach ($ parameters as $ parameter) { $ dependency = $ parameter-> getClass (); if ($ ???) { $ args [] = $ this-> get ($ ???-> getName ()); } } $ this-> ???? [$ class] = $ Reflection-> NewInstanCeargs ($ args); } ? ?? { $ this-> ???? [$ class] = $ Reflection-> newInstance (); } } $ this-> ???? [$ class]; } } ??? ?? { ?? ?? ?? ($ ???) { echo "?? : $ message \ n"; } } ??? ??? ??? { ?? $ ??; ?? ?? __construct (logger $ logger) { $ this-> logger = $ logger; } ?? ?? dosomething () { $ this-> logger-> log ( "??????"); } } $ ???? = ??? ???? (); $ userervice = $ container-> get ( 'userservice'); $ uservice-> dosomething ();
? ??? ??? ???? ??? ??? ?? ????? ???? ??? ?????. ???? ???? ???? ?? ???? ??? ?? ????? ????.
???? ?? ? ??? ?
?? API? ??? ? ??? ??? ? ?? ???? ??? ????. ?? ??, ???? ?? ???? ??????? ReflectionException
?????. Try-Catch ?????? ?? ? ? ??????.
???? { $ class = new ReflectionClass ( 'nonexistentClass'); } catch (ReflectionException $ e) { ?? "??? ?? :". $ e-> getMessage (). "\N"; }
? ?? ???? ??? ?? ???? ??? ?? ? ? setAccessible(true)
???? ???????? ????.
$ class = new ReflectionClass ( 'myclass'); $ method = $ class-> getMethod ( 'privatemethod'); $ method-> setAccessible (true); $ method-> invoke (new myclass ());
?? ??? ? ?? ??
?? API? ????? ?? ?? ??? ????. ??? ? ?? ??? ?? ? ?? ?? ??? ??? ????.
- ?? ?? ?? : ?? ??? ??? ?? ?? ??? ???. ?? ? ??? ???? ?? ? ?? ??? ?? ? ????.
$ reflectionCache = []; ?? getReflection ($ class) { if (! isset ($ reflectionCache [$ class]) { $ reflectionCache [$ class] = new ReflectionClass ($ class); } RETURN $ RECLECTIONCACHE [$ Class]; }
???? ??? ????? : ???? ??? ???? ????. ?? ?? ?? ?? ??? ??? ????? ? ??????.
?? ??? : ?? ??? ?? ? ??? ??? ?? ???? ??? ??? ?? ??? ??? ??? ?????.
??? ?? : ??? ??? ??? ???? ? ??? ? ??? ??? ???? ???? ?????????. ???? ??? ??? ?? ??? ??? ?? ???? ?? ? ????.
?? API? PHP?? ?? ??? ????? ??? ?? ???????. ? ??? ?? Reflection API? ? ?? ???? ?? ????? ???? ??? ??????. ? ??? ????? ?? ??? ? ??? ????!
? ??? PHP? ?? API ? ??????? ?? ?????. ??? ??? 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? ????? ???? ? ? ??? ??? ???? ?? ?? ? ??? ???????. ??? ???? ?? ??? ??? ?? ?? ?? ???? ???? ? ????.

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

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

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