RESTful API ها در فریمورک Yii
فریمورک Yii ویژگی های مفید زیر را برای اجرای RESTful API ها فراهم می کند :
- نمونه سازی سریع
- سریال سازی اشیاء قابل تنظیم
- فرمت پاسخ (با پشتیبانی از JSON و XML به طور پیش فرض)
- قالب بندی داده های جمع آوری شده و خطاهای اعتبار سنجی
- مسیریابی کارآمد
- پشتیبانی از HATEOAS
- پشتیبانی از افعال OPTIONS و HEAD ساخته شده است
- کش داده و کش HTTP
- اعتبارسنجی (Authentication) و مجوزدسترسی (authorization)
- محدود کردن Rate
ما برای نشان دادن API های RESTful بصورت عملی، به اطلاعات نیاز داریم.
آماده سازی DB
مرحله 1 - ایجاد یک پایگاه داده جدید: پایگاه داده را می توان به دو روش زیر ایجاد نمود:
- در ترمینال، دستور زیر را اجرا نمایید.
mysql -u root –p
- ایجاد یک پایگاه داده جدید از طریق دستورزیر:
CREATE DATABASE helloworld CHARACTER SET utf8 COLLATE utf8_general_ci؛
مرحله 2 - connection پایگاه داده را در فایل config/db.php پیکربندی کنید. تنظیمات زیر برای سیستم مورد استفاده کنونی می باشد.
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host = localhost;dbname = helloworld',
'username' => 'vladimir',
'password' => '12345',
'charset' => 'utf8',
];
?>
مرحله 3 - داخل دایرکتوری ریشه، دستور ./yii migrate/create test_table را اجرا کنید. این فرمان یک database migration را برای مدیریت DB ایجاد می کند. فایل migration باید در پوشه migrations در ریشه پروژه قرار بگیرد.
مرحله 4 - فایل migration را (m160106_163154_test_table.php در مثال ما) به صورت زیر ویرایش کنید.
<?php
use yii\db\Schema;
use yii\db\Migration;
class m160106_163154_test_table extends Migration {
public function safeUp() {
$this->createTable("user", [
"id" => Schema::TYPE_PK,
"name" => Schema::TYPE_STRING,
"email" => Schema::TYPE_STRING,
]);
$this->batchInsert("user", ["name", "email"], [
["User1", "user1@gmail.com"],
["User2", "user2@gmail.com"],
["User3", "user3@gmail.com"],
["User4", "user4@gmail.com"],
["User5", "user5@gmail.com"],
["User6", "user6@gmail.com"],
["User7", "user7@gmail.com"],
["User8", "user8@gmail.com"],
["User9", "user9@gmail.com"],
["User10", "user10@gmail.com"],
["User11", "user11@gmail.com"],
]);
}
public function safeDown() {
$this->dropTable('user');
}
}
?>
migration بالا یک جدول به نام user با چنیین فیلدهایی ایجاد می کند: id, name, email. همچنین تعدادی user نیز به جدول مان اضافه می نماید.
مرحله 5 - داخل ریشه پروژه دستور ./yii migrate را اجرا کنید. تا migraton به Database مان اعمال شود.
مرحله 6 - حالا ما باید یک مدل برای جدول user مان ایجاد کنیم. برای سادگی کار، ما قصد داریم از ابزار تولید کد Gii استفاده کنیم.
این آدرس را باز کنید: url: http://localhost:8080/index.php?r=gii. سپس بر روی دکمه “Start” زیر هدر “Model generator” کلیک کنید. نام جدول را user و نام کلاسِ مدل را MyUser بگذارید، روی دکمه “Preview” کلیک کنید و در نهایت روی دکمه “Generate” کلیک نمایید.
مدل MyUser باید در دایرکتوری models ظاهر شود.
نصب Postman
Postman یک ابزار مفید برای ایجاد یک سرویس RESTful است. بطوریکه یک رابط مفید برای ساخت request ها فراهم می کند.
شما می توانید این ابزار را در https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop؟hl=en پیدا کنید.
برای نصب آن، دکمه “Add to Chrome” را فشار دهید.
این فصل در یک نگاه:
…
سلام . پیشنهاد میکنم حتما دموی دوره رو مشاهده کنید درباره فریم ورک Yii: در پاسخ به سوالات : آیا این فریم ورک سریع است؟ آیا این یک فریم ورک امن است؟ آیا این یک فریم ورک حرفه ای است؟ آیا ا…این فصل در یک نگاه:
…
پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…