خانه زبان های برنامه نویسی آموزش API در زبان PHP زبان های برنامه نویسی PHP نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۲۲ تیر ۱۴۰۱ آخرین بروزرسانی: 17 تیر 1403 زمان مطالعه: 15 دقیقه ۳.۹ (۸) مقدمهدرصورتیکه شما هم در دنیای برنامهنویسی فعالیتی داشته باشید، ممکن است نام Api به گوشتان خورده باشد. اما آیا میدانید که این مفهوم به چه معناست؟ باید بدانید که Api و Rest Apiها بهعنوان ستون فقرات توسعه وب به شمار میروند. اکثر برنامههای کاربردی در سطح وب که بهعنوان برنامههای کاربردی فرانتاند توسعه داده میشوند از apiهای پشتیانی شده و متصل از زبانهای مختلف استفاده میکنند. ما در این مقاله قصد داریم تا در خصوص آموزش API در PHP بهعنوان یکی از زبانهای برنامهنویسی مهم، صحبت کنیم.API چیست؟پیش از اینکه در خصوص آموزش API در PHP صحبت کنیم، لازم است تا شما را با مفهوم API آشنا کنیم. Api که مخفف “Application Programming Interface” است به یک سری مجموعه قوانین اشاره دارد. این مجموعه قوانین به نرمافزار اجازه میدهند تا با یک نرمافزار دیگر ارتباط برقرار کنند. باید اشاره کرد که این قوانین میتوانند شامل ایجاد، خواندن، بهروزرسانی و یا حذف باشند. اما شاید بپرسید که ضرورت آموزش API در PHP چیست؟باید بدانید که استفاده از API میتواند بهعنوان سادهترین راه برای ایجاد، خواندن، بهروزرسانی و یا حذف اطلاعات برنامه از طریق اینترنت یا پروتکل Http شناخته شود. چنین اطلاعاتی میتوانند بهسرعت در اختیار کاربران قرار بگیرند. یکی دیگر از دلایل اصلی آموزش API در PHP این است که میتوان از آن در هر برنامهای که به اینترنت متصل میشود، استفاده کرد. اگر در هر برنامهای مشاهده کردید که دادهها آن توسط یک برنامه دیگر ایجاد، بهروزرسانی و یا حذف شده، بدانید که این عمل با کمک apiها رخداده است. آموزش API در PHPدر این قسمت از مقاله قصد داریم تا در خصوص آموزش RESTFUL API در PHP و API در PHP صحبت کنیم. برای اینکه آموزش API در PHP بهصورت کامل در اختیار شما قرار بگیرد، ما بهصورت بخشبخش و گامبهگام دراینخصوص صحبت خواهیم کرد؛ ازاینرو آموزش API در PHP بهصورت زیر خواهد بود:اسکلت پروژه PHP را برای APIخود ایجاد کنیداولین قدم در آموزش RESTFUL API در PHP این است که یک اسکلت برای پروژه خود ایجاد کنید. در این آموزش api در php ما از یک دایرکتوری /src و یک فایل composer.json در دایرکتوری با یک وابستگی کار خود را آغاز خواهیم کرد. در این مرحله نیاز است تا کتابخانه DotEnv را که به ما این امکان را میدهد جزئیات احراز هویت Okta خود را در یک فایل .env خارج از برنامه نگهداری کنیم، نیاز خواهیم داشت.composer.json { "require": { "vlucas/phpdotenv": "^2.4" }, "autoload": { "psr-4": { "Src\\": "src/" } } }به کمک این قطعه کد در آموزش API در PHP ما یک بارگذاری خودکار PSR-4 را پیکربندی کردهایم که بهصورت خودکار کلاسهای PHP را در فهرست /src جستجو میکند. همچنین ما یک دایرکتوری vendor / داریم و وابستگی DotEnv بر روی آن نصب شده است. همچنین در این آموزش api در php ما به یک فایل bootstrap.php نیاز داریم که متغیرهای محیطی ما را بارگیری کند.<?php require 'vendor/autoload.php'; use Dotenv\Dotenv; $dotenv = new DotEnv(__DIR__); $dotenv->load(); // test code, should output: // api://default // when you run $ php bootstrap.php echo getenv('OKTAAUDIENCE');یک پایگاهداده برای API خود پیکربندی کنیدما در این آموزش api در php از MySQL برای تقویت api خود استفاده خواهیم کرد؛ ازاینرو نیاز است یک پایگاهداده و کاربر جدید برای برنامه خود ایجاد کنیم:mysql -uroot -p CREATE DATABASE api_example CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'api_user'@'localhost' identified by 'api_password'; GRANT ALL on api_example.* to 'api_user'@'localhost'; quitمابقی APIهای ما در این آموزش، تنها با یک موجودیت سروکار دارند: Person. اینم موجودیت دارای فیلدهای id، firstname, lastname, firstparent_id, secondparent_id خواهد بود. این موجودی به ما این امکان را میدهد تا افراد را با حداکثر دو والدین برای هر فرد تعریف کنیم؛ ازاینرو نیاز است تا جدول پایگاهداده خود را در MySQL ایجاد کنید.یک کلاس دروازه (Gateway) برای جدول افراد اضافه کنیدقدم بعدی در آموزش api در php ما، به این نیاز دارید تا یک کلاس دروازه (Gateway) برای جدول افراد اضافه کنید. الگوهای زیادی برای کار با پایگاهداده در زمینه شیءگرا وجود دارد. در این آموزش، ما از یک api ساده استفاده کردهایم. ازاینرو طبیعی است که از یک الگوی ساده نیز بهره ببریم؛ به این دلیل تنها یک Table Gateway اجرا میکنیم.<?php namespace Src\TableGateways; class PersonGateway { private $db = null; public function __construct($db) { $this->db = $db; } public function findAll() { $statement = " SELECT id, firstname, lastname, firstparent_id, secondparent_id FROM person; "; try { $statement = $this->db->query($statement); $result = $statement->fetchAll(\PDO::FETCH_ASSOC); return $result; } catch (\PDOException $e) { exit($e->getMessage()); } } public function find($id) { $statement = " SELECT id, firstname, lastname, firstparent_id, secondparent_id FROM person WHERE id = ?; "; try { $statement = $this->db->prepare($statement); $statement->execute(array($id)); $result = $statement->fetchAll(\PDO::FETCH_ASSOC); return $result; } catch (\PDOException $e) { exit($e->getMessage()); } } public function insert(Array $input) { $statement = " INSERT INTO person (firstname, lastname, firstparent_id, secondparent_id) VALUES (:firstname, :lastname, :firstparent_id, :secondparent_id); "; try { $statement = $this->db->prepare($statement); $statement->execute(array( 'firstname' => $input['firstname'], 'lastname' => $input['lastname'], 'firstparent_id' => $input['firstparent_id'] ?? null, 'secondparent_id' => $input['secondparent_id'] ?? null, )); return $statement->rowCount(); } catch (\PDOException $e) { exit($e->getMessage()); } } public function update($id, Array $input) { $statement = " UPDATE person SET firstname = :firstname, lastname = :lastname, firstparent_id = :firstparent_id, secondparent_id = :secondparent_id WHERE id = :id; "; try { $statement = $this->db->prepare($statement); $statement->execute(array( 'id' => (int) $id, 'firstname' => $input['firstname'], 'lastname' => $input['lastname'], 'firstparent_id' => $input['firstparent_id'] ?? null, 'secondparent_id' => $input['secondparent_id'] ?? null, )); return $statement->rowCount(); } catch (\PDOException $e) { exit($e->getMessage()); } } public function delete($id) { $statement = " DELETE FROM person WHERE id = :id; "; try { $statement = $this->db->prepare($statement); $statement->execute(array('id' => $id)); return $statement->rowCount(); } catch (\PDOException $e) { exit($e->getMessage()); } } }PHP API را پیادهسازی کنیدیکی از مهمترین قسمتها در آموزش api در php پیادهسازی آن خواهد بود. ما یک فایل /public/index.php ایجاد خواهیم کرد تا بهعنوان کنترلر عمل کرده و درخواستها را پردازش کند. همچنین یک src/Controller/PersonController.php برای مدیریت نقاط پایانی api ایجاد خواهیم کرد.<?php require "../bootstrap.php"; use Src\Controller\PersonController; header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8"); header("Access-Control-Allow-Methods: OPTIONS,GET,POST,PUT,DELETE"); header("Access-Control-Max-Age: 3600"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); $uri = explode( '/', $uri ); // all of our endpoints start with /person // everything else results in a 404 Not Found if ($uri[1] !== 'person') { header("HTTP/1.1 404 Not Found"); exit(); } // the user id is, of course, optional and must be a number: $userId = null; if (isset($uri[2])) { $userId = (int) $uri[2]; } $requestMethod = $_SERVER["REQUEST_METHOD"]; // pass the request method and user ID to the PersonController and process the HTTP request: $controller = new PersonController($dbConnection, $requestMethod, $userId); $controller->processRequest();API PHP خود را با OAuth 2.0 ایمن کنیددر قدم آخر آموزش api در php نیاز است تا API PHP خود را با OAuth 2.0 ایمن کنید. ما در این آموزش RESTFUL API در PHP از okta بهعنوان سرور مجوز و برای ایجاد جریان اعتبار مشتری استفاده میکنیم. این جریان برای احراز هویت توصیه میشود و به هر مشتری یک شناسه و رمز میدهد.نتیجهگیریآموزش RESTFUL API در PHP طرفداران بسیار زیادی پیدا کرده است. از apiها میتوانید در تمامی برنامههای کاربردی که به اینترنت متصل میشوند، استفاده کنید. این قوانین به نرمافزارهای اجازه میدهد تا با سایر نرمافزارها ارتباط برقرار کنند. ما در این مقاله در خصوص آموزش api در php صحبت کردیم و نکات مهمی را در این زمینه با شما به اشتراک گذاشتیم. چه رتبه ای میدهید؟ میانگین ۳.۹ / ۵. از مجموع ۸ اولین نفر باش دانلود مقاله آموزش API در زبان PHP فرمت PDF 12 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 401 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز مقالات مرتبط ۰۶ آذر زبان های برنامه نویسی مقایسه بهترین زبانهای برنامهنویسی ۲۰۲۵ ۰۵ آذر زبان های برنامه نویسی زبان گو (GO) و بررسی مزایا و کاربرد این زبان برنامه نویسی ۱۰ آبان زبان های برنامه نویسی عملکرد کتابخانه Turtle در پایتون و کاربرد های آن ۰۸ آبان زبان های برنامه نویسی Migration در لاراول چیست و چه کاربردهایی دارد؟ تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ