рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕ рдкрд░ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЧрдИ рдереА - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ mysql рдбреЗрдЯрд╛рдмреЗрд╕, рдЪрд┐рддреНрд░, рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реАред
рдЬрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡реЗ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВ:
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг / рдкреНрд░рд╛рдзрд┐рдХрд░рдг;
рдХреБрдЫ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ / рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА)ред
рдФрд░ рдлрд┐рд░ рдореИрдВ рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣рд┐рдд рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдПред
рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛
рдореЗрд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдерд╛:
рд╕рд░реНрд╡рд░ - рдЕрдкрд╛рдЪреЗ, PHP 5.0, MySQL 5.0
рдХреНрд▓рд╛рдЗрдВрдЯ - рдПрдВрдбреНрд░реЙрдЗрдб, рдЖрдИрдУрдПрд╕ рдбрд┐рд╡рд╛рдЗрд╕, рдХреЛрдИ рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░
рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рдЙрд╕рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП JSON рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ - PHP рдФрд░ Android рдореЗрдВ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдФрд░ рдореВрд▓ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдПред IOS рдиреЗ рдореБрдЭреЗ рдпрд╣рд╛рдБ рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ - рдЗрд╕рдореЗрдВ рджреЗрд╢реА JSON рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ (рдореБрдЭреЗ рдпрд╣рд╛рдБ рддреГрддреАрдп-рдкрдХреНрд╖ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛)ред
рдпрд╣ рднреА рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз GET рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (PHP рдореЗрдВ $ _REQUEST рдпрд╣рд╛рдБ рдорджрдж рдХреА рдЧрдИ) рджреЛрдиреЛрдВ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдиреЗ рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ GET рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдкреАрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛:
http: // [рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛] / [рдПрдкреАрдЖрдИ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде] /? [api_name]ред [рд╡рд┐рдзрд┐_рдирд╛рдо] = [[JSON рдХреЗ рдлреЙрд░реНрдо {"рд╣реИрд▓реЛ": "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб"}]Api рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдЬрдбрд╝ index.php рдлрд╝рд╛рдЗрд▓ рд╣реИ - рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ
рдирд╛рдо рдПрдкреАрдЖрдИ рд╣реИ - рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рдореВрд╣ рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдбреЗрдЯрд╛рдмреЗрд╕, рд╕рд╛рдордЧреНрд░реА, рдЖрджрд┐ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдПрдкрд┐ рдХреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдорд┐рд▓рд╛
рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо
JSON - рд╡рд┐рдзрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡
рдХрдВрдХрд╛рд▓ рдПрдкреАрдЖрдИ
рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХрдВрдХрд╛рд▓ рдПрдкреАрдЖрдИ рдореЗрдВ рдХрдИ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╣реЛрддреЗ рд╣реИрдВ:
index.php - рд╕рднреА рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП Apache рдЦрд╛рддреЛрдВ рдореЗрдВ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЗрдВрдбреЗрдХреНрд╕ рдлрд╛рдЗрд▓, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЛ рдкрд╛рд░ рдХрд░рддреА рд╣реИ рдФрд░ рдПрдкреАрдЖрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ
MySQLiWorker - MySQLi рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рд╡рд░реНрдЧ
apiBaseCalss.php - рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА API рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╡рд░реНрдЧ - рдкреНрд░рддреНрдпреЗрдХ API рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
apiEngine.php - рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдореБрдЦреНрдп рд╡рд░реНрдЧ - рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ (index.php рдореЗрдВ рдЙрдирдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдмрд╛рдж) рд╡рд╛рдВрдЫрд┐рдд рдПрдкреАрдЖрдИ рд╡рд░реНрдЧ (рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рдзрд┐ рдХрд╣рддрд╛ рд╣реИ рдФрд░ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ
apiConstants.php - рдПрдкреАрдЖрдИ рдХреЙрд▓ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЧ
apitest.php - рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирдП рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдПрдкреАрдЖрдИ
рдкреВрд░рд╛ рддрдВрддреНрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рд╣рдо рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
www.example.com/api/?apitest.helloWorld= {}
рд╕рд░реНрд╡рд░ рдХреА рдУрд░, index.php рдлрд╝рд╛рдЗрд▓ - рдкрд╛рд░рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИред Index.php рд╣рдореЗрд╢рд╛ рдкрд╛рд░рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ $ _REQUEST рдХреА рд╕реВрдЪреА рд╕реЗ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд▓реЗрддрд╛ рд╣реИ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди
www.example.com/api/?apitest.helloWorld= {} & apitest.helloestorld2 - рдХреЗрд╡рд▓ рдПрдкрд▓рд╕реНрдЯ рдореЗрдВ рд╣реЗрд▓реНрд▓реЛрд╡рд░реНрд▓реНрдб рдкрджреНрдзрддрд┐ рдХреЛ рдмреБрд▓рд╛рдПрдЧрд╛ред рд╣реЗрд▓реНрд▓реЛрд╡рд░реНрд▓реНрдб 2 рдореЗрдердб рдХреЙрд▓ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧреА
рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ
рдореИрдВрдиреЗ рдХрд╛рдлреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддрд╛рдХрд┐ рдкрд╛рда рдХреЗ рддрд╣рдд рдЬреНрдпрд╛рджрд╛ рдЬрдЧрд╣ рди рд▓реЗ рд╕рдХреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдПрдХ рд╡рд┐рд╡рд░рдг рджреВрдВрдЧрд╛ред
index.php
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рдпрд╣ рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣
www.example.com/api рдлреЙрд░реНрдо рдХреЗ рд╕рднреА рдХреЙрд▓ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред
<?php header('Content-type: text/html; charset=UTF-8'); if (count($_REQUEST)>0){ require_once 'apiEngine.php'; foreach ($_REQUEST as $apiFunctionName => $apiFunctionParams) { $APIEngine=new APIEngine($apiFunctionName,$apiFunctionParams); echo $APIEngine->callApiFunction(); break; } }else{ $jsonError->error='No function called'; echo json_encode($jsonError); } ?>
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ - рдЯреЗрдХреНрд╕реНрдЯ / html (рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ - UTF-8 рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлрд┐рд░ рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╣рдорд╕реЗ рдХреБрдЫ рдорд╛рдБрдЧ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ JSON рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред
рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдкреАрдЖрдИ рдЗрдВрдЬрди рдлрд╝рд╛рдЗрд▓ - apiEngine.php рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рд░рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдЬрди рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдкреАрдЖрдИ рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдХреЙрд▓ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдВрдЧреЗред
apiEngine.php
рджреВрд╕рд░рд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкрд┐рдВрдЬрд╛рдЗрди рд╡рд░реНрдЧ рд╣реИ - рдпрд╣ рдПрдкреА рдФрд░ рдЙрдирдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЬрди рд╣реИред
<?php require_once('MySQLiWorker.php'); require_once ('apiConstants.php'); class APIEngine { private $apiFunctionName; private $apiFunctionParams;
apiConstants.php
рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
<?php class APIConstants {
MySQLiWorker.php
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рд╡рд░реНрдЧред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреБрдВрд╡рд╛рд░рд╛ рд╣реИ - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдРрд╕реЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
<?php class MySQLiWorker { protected static $instance;
apiBaseClass.php
рдЦреИрд░, рдпрд╣рд╛рдВ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ - рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рд╡рд░реНрдЧред
<?php class apiBaseClass { public $mySQLWorker=null;
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдХрдИ "рдЙрдкрдпреЛрдЧрд┐рддрд╛" рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ, рдЬреИрд╕реЗ:
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдПрдкреАрдЖрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ;
рд╡рд┐рдзреНрд╡рдВрд╕рдХ - рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд░рд┐рд╣рд╛рдИ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ - рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЛ рддреЛрдбрд╝рдирд╛
createDefaultJson - рд╡рд┐рдзрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ JSON рдмрдирд╛рддрд╛ рд╣реИ
fillJSON - рдпрджрд┐ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд▓реМрдЯрд╛рдПрдЧрд╛, рддреЛ рдпрд╣ рд╡рд┐рдзрд┐ JSON рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рднрд░ рдЬрд╛рдПрдЧреАред
рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВ
рдпрд╣ рдЗрд╕ рдПрдкреАрдЖрдИ рдХреА рдкреВрд░реА рд░реАрдврд╝ рд╣реИред рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреАрдЯреА рдирд╛рдордХ рдкрд╣рд▓реЗ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд▓рд┐рдЦреЗрдВ:
рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ
рд╡рд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд▓реМрдЯрд╛рдПрдЧреА, рддрд╛рдХрд┐ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╡рд╣ рдЙрдиреНрд╣реЗрдВ рдкрдврд╝рддреА рд╣реИ
рдПрдХ рдЬреЛ рд╣рдореЗрдВ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛
рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХрд╛ apitest.php рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ
<?php class apitest extends apiBaseClass {
рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдкрддреЗ рдкрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рддрд░реАрдХреЗ рд╣реИрдВ
helloAPI
function helloAPI() { $retJSON = $this->createDefaultJson(); $retJSON->withoutParams = 'It\'s method called without parameters'; return $retJSON; }
рдпрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдзрд┐ рд╣реИред рдЙрдирдХрд╛ GET рдкрддрд╛
www.example.com/api/?apitest.helloAPI= {} рд╣реИ
рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдРрд╕рд╛ рдкреГрд╖реНрда рд╣реЛрдЧрд╛ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ)

helloAPIWithParams
рдпрд╣ рд╡рд┐рдзрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд▓реЗ рдЬрд╛рддреА рд╣реИред TestParamOne рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ JSON рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
function helloAPIWithParams($apiMethodParams) { $retJSON = $this->createDefaultJson(); if (isset($apiMethodParams->TestParamOne)){
рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо

helloAPIResponseBinary
рдФрд░ рдЕрдВрддрд┐рдо helloAPIResponseBinary рд╡рд┐рдзрд┐ - рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ - рдПрдХ рдкреГрд╖реНрда рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╣рдм рдХреА рддрд╕реНрд╡реАрд░ рдЬреЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ)
function helloAPIResponseBinary($apiMethodParams){ header('Content-type: image/jpeg'); echo file_get_contents("http://habrahabr.ru/i/error-404-monster.jpg"); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдЧреНрд░рд╛рдлрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред
рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛

рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рд╣реИ
рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдХреЙрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рднреЗрдж рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдХреБрдЫ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХреБрдЫ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рдеред
рд╕рдВрджрд░реНрдн
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ github -
simpleAPI рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ