⚔️CRUD ოპერაციები
რა არის CRUD ოპერაციები
CRUD არის აკრონიმი, და ის გულისხმობს 4 ოპერაციას, რომლებიც აუცილებელია ყოველი აპლიკაციისთვის რომელიც მონაცემთა ბაზებთან ან რაიმე სახის storage-თან მუშაობს. ეს ოთხი ოპერაცია არის შემდეგი: create, read, update, delete. ამ სტატიაში განხილულია ლარაველის კონვენციები CRUD ოპერაციებთან დაკავშირებით. კონკრეტულად თუ როგორი ფორმატით უნდა გვეწეროს შესაბამისი როუტები და რა მეთოდები უნდა გააჩნდეთ შესაბამის კონტროლერებს. მოდი შევქმნათ ძალიან მარტივი აპლიკაცია, რომელსაც შეეძლება პოსტების ბაზიდან წამოღება, ჩაწერა, განახლება, და წაშლა. ჩვენ გვაქვს Post მოდელი და შესაბამისი მიგრაცია. Post-ს გააჩნია მხოლოდ 2 პარამეტრი 'title' და 'body'. რომლის შესაბამისი მიგრაციაც და მოდელიც შემდეგნაირად გამოიყრება:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $guarded = ['id'];
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('body');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('posts');
}
};
Webის როუტებთან დაკავშირებული კონვენციები
როუტები და კონტროლერის მეთოდები სტანდარტულ აპლიკაციასში, სადაც ვაბრუნებთ გარკვეულ View ებს და ასევე აღვწერთ ბაზასთან მუშაობის ლოგიკას.
ამ შემთხვევაში როუტების აღსაწერად ჩვენ ვმუშაობთ web.php ფაილში, და კონტროლერებს ვქმით app/Http/Controllers/ - დირექტორიაში
API-ის როუტებთან დაკავშირებული კონვენციები
წინა მაგალითისაგან განსხვავებით როდესაც ჩვენ გვინდა მხოლოდ API-ს შექმნა, ამჟამად უკვე აღარ გვიწევს View ების დაბრუნება და ჩვენს API-ის ექნება შემდეგი სახე:
ამ შემთხვევაში როუტების აღსაწერად ჩვენ ვმუშაობთ api.php ფაილში, და კონტროლერებს ვქმით app/Http/Controllers/Api - დირექტორიაში
ეს სტატია ეხება მხოლოდ ქრუდ ოპერაციებს, ანუ ოეპრაციებს რომელიც უშუალოდ დაკავშირებულია მონაცემის ბაზაში ჩაწერის, წაკითხვის, განახლებისა და წაშლის ფუნქციონალთან. შესაბამისად სხვა სახის ლოგიკის იმპლემენტაციისას მაგალითად როგორიც არის ავტორიზაცია რეგისტრაცია და ლოგაუთი არ არის საჭირო, და პირიქით ცუდიც კია რო კონტროლერის მეთოდებს დავარქვათ ასეთი სახელები
Last updated