?? ??? ?? PHP?? API ??? ??? ? ????. 1./API/V1/???? ?? URL? ?? ??? ??????. 2. ??? ?? ??? ????? ???? URL? ?? ???? ?? ??? ??????. 3. ?? ??? ?? ?? ?? ??? ???? ??? ?? ??? ??? ?? ???? ??????.
??
API ?? ???? ?? ? ???? ??? ????? API ???? ? ???? ?????. ?? ??? PHP?? API ?? ??? ???? ??? ????? ?? ? ????. ? ??? ?? ???? ?? ?? ??? API ?? ???? ???? ???? ??? ??? ? ???? ??? ???? ???? ?? ?? ??? ????? ??? ??????.
???? ?? ?? API ?? ??? ??? ??? ??? ???. ?? ????? ?? ???? ?? API? ??? ??? ?? ? ? ????. ??? ?? ??? ??? API ???? ?? ?? ?????? ??? ???? ?? ? ????. ?? ??? ?? ?? ??? ?? ?? ?? ???? ???? API ???? ?? ??? ?? ? ????.
?? ?? ??
PHP?? API ?? ??? ????? ? ?? ?? ??? ??? ???????. ??, RESTFUL API? ?? ??, ??, HTTP ?? ? ??? ??, ????? PHP? ??? ???? ? ?? ???? ??. ??? API ?? ??? ?????? ?????.
RESTFUL API? ??? ??? ??? ??? ???? ??? ??????. ???? HTTP ?? (? : get, post, put, delete)? ?? ???? ???? URL? ?? ?????. API ?? ???? ????? ?????? ??? API ??? ??? ? ??? URL? ?? ??? ???? ????.
PHP? ??? ????? URL? ?? ?? ??? ???? ? ??? ? ? ??? ?? ????? ??? ???? ?? ?? ??? ?? ? ????. API ???? ??? ? ??? ??? ???? ??? ??? API? ?? ? ? ??????.
?? ?? ?? ?? ??
API ?? ??? ?? ? ??
API ?? ???? ?????? ??? API ??? ??? ? ??? API URL? ?? ??? ???? ?? ?????. ? ??? API? ???? ?? ???? ???? ???? ?? ?????? ??? ??? ?? API? ?????? ?? ? ? ????? ????.
?? ??, API? URL? /api/v1/users
? URL? ?? ? ? ????. ??? v1
API? ?? ??? ?????. ??? ???? ?????? API? ? ?? ??? ?? ??? ??? ? ????.
<? php // ? : ??? API ?? ?? $ version = 'v1'; $ route = "/api/{$ version}/users"; ?? $ ??; // output :/api/v1/??? ?>
?? ??
API ?? ???? ?? ??? ?? URL? ?? ?? ? ??? ??? ?????. PHP??? ??? ?? ??? ????? ?? ?? ??? ??? ? ????. ??, ?? ??? URL? ??? ??? ?? ?? ??? ???? ?? ?? ??? ?? ? ? ????.
?? ??, PHP? $_SERVER['REQUEST_URI']
???? ?? ? URL? ??? ?? ?? ??? ?? ??? ??? ?? ?? ??? ?? ? ? ????. ???? ?? ??? ???? ?? ? ?? ??? ??? ??? ? ????.
<? php // ? : ?? ?? ??? ??????. $ uri = $ _server [ 'request_uri'] URL? ?? ??? ??; if (preg_match ( '/\/api \/v (\ d) \ //', $ uri, $ matches)) { $ version = $ ?? [1]; ??? ($ ??) { ?? '1': // ?? ??? V1 ??? ??????. 'v1/users.php'; ????; ?? '2': // ?? ??? V2 ??? ??????. 'v2/users.php'; ????; ??: // ? ??? ?? ?? ?? http_response_code (404); Echo '??? ?? ? ????'; } } ? ?? { // ?? ????? ??? ????? http_response_code (404); Echo '??? ???? ???'; } ?>
API ?? ??? ??? ?? ??? ?? ??? ???????.
- URL ?? : URL? ?? ??? ???? ??, ?? ??? URL? ???? ??.
- ??? ???? : URL? ?? ??? ???? ?? ?? ??? ???? ??.
- ?? ?? : ??? ??? ??? ???? ??? ?? ?? ??? ??? ??.
- ?? ??? : API? ? ??? ?? ??? ?????? ??? ??? ????? ??.
??? ?
?? ??
PHP?? API ?? ??? ???? ?? ???? ??? URL? ?? ??? ?? API ??? ???? ????. ??? URL? ?? ??? ???? ?? ?? ??? ???? ??? ???? ??? ????.
<? php // ? : ?? API ??? $ uri = $ _server [ 'request_uri']; if (preg_match ( '/\/api \/v (\ d) \/users/', $ uri, $ matches)) { $ version = $ ?? [1]; ??? ($ ??) { ?? '1': // ?? ??? V1 ??? ??????. 'v1/users.php'; ????; ?? '2': // ?? ??? V2 ??? ??????. 'v2/users.php'; ????; ??: // ? ??? ?? ?? ?? http_response_code (404); Echo '??? ?? ? ????'; } } ? ?? { // ?? ????? ??? ????? http_response_code (404); Echo '??? ???? ???'; } ?>
?? ??
?? ?? ????????? ??? ?? ?? ????? ??? ? ????. ?? ??, ?? ??? API? ????? ?? ?? ?? ??? ??? ???? ? ?? ????. ??? PHP? ?? ???? ? ???? ????? ???? API ???? ???? ??? ???? ?? ????.
<? php // ? : ?? API ?? ??? API \ V1 \ ??? ?? ??? V1; api \ v2 \ users? UsersV2? ??????. $ uri = $ _server [ 'request_uri']; if (preg_match ( '/\/api \/v (\ d) \/users/', $ uri, $ matches)) { $ version = $ ?? [1]; ??? ($ ??) { ?? '1': // ?? ??? v1 ??? ??????. $ user = new UsersV1 (); $ user-> handlerequest (); ????; ?? '2': // ?? ??? v2 ??? ?????. $ user = new UsersV2 (); $ user-> handlerequest (); ????; ??: // ? ??? ?? ?? ?? http_response_code (404); Echo '??? ?? ? ????'; } } ? ?? { // ?? ????? ??? ????? http_response_code (404); Echo '??? ???? ???'; } ?>
???? ?? ? ??? ?
API ???? ??? ?? ? ?? ???? ??? ??? ??? ? ????. ?? ??, ?? ?? ?? ?? ??, ?? ?? ?? ??, ?? ??? ?? ?. ? ?? ???? ?? ? ??? ?? ??? ????.
- ?? ?? ?? ?? ?? : ?? ??? ?? ??? ??? URL? ?? ??? ???? ?? ?? ? ? ??? ??????.
var_dump
??print_r
???? ?? ?? ??? ??? ? ? ????. - ?? ?? ?? ?? ?? : ?? ???? ???? ??? ???? ?? ? ? ????? ??????.
try-catch
?? ??? ???? ???? ? ??? ? ????. - ?? ??? ?? : ? ??? API? ?? ??? ?????? ??? ??? ???????. ?? ? ???? ??? ???? ?? ??? ??? ???? ?? ? ? ????.
?? ??? ? ?? ??
API ???? ??? ?? ?? ??? ? ?? ??? ???????. ? ?? ??? ??? ????.
- ?? : ?? ????? ???? API? ?? ??? ???? ? ????. ?? ??, ????? ???? API ??? ???? ?????? ?? ? ?? ???? ?? ? ????.
- ?? ??? :?? ??? ??? ???? API ??? ??? ???? ???? ?? ?? ???? ???? ? ????.
- ?? ??? : ??? ? ?? ? ?? ??? ???? ??? ?? ?? ???? ?? ??? ???????.
- ?? ?? : ?? ?? ??? (? : GIT)? ???? ??? ??? ??? ???? ?? ? ?? ??? ???????.
?? ????????? ?? ???? ?? ? ?? ??? ?? API ?? ?? ??? ???? ????????. ?? ??, ?? ??? API? ?? ????? ?? API? ?? ? ???? ???? ??? ?? ?? ????? ???? ??? ??? ? ????.
???, PHP?? API ?? ??? ????? URL ??, ??? ????, ?? ?? ? ?? ???? ?? ??? ? ??? ?????. ???? ?? ? ??? ?? 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? ????? ???? ? ? ??? ??? ???? ?? ?? ? ??? ???????. ??? ???? ?? ??? ??? ?? ?? ?? ???? ???? ? ????.

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

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

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