පැරණි දත්ත ගබඩාවක් තිබෙන ව්යාපෘතියක් ගැන කතා කරනවා නම්, ඒකේ ලේඛන පද්ධතිය අඩු වීම, සත්ය ටේබල් ගණනක්, විදෙස් යතුරු සහ වසර ගණනාවක දත්ත එකතු වීම වගේ ගැටලු බහුලයි. ඒ වගේම API ස්ථරයක් නොමැතිව හෝ පුරුදු නොවන කන්ට්රෝලර් කුලකයක් පමණක් තිබේ නම්, නවීකරණය අතිශය කාලය ගනී.
ඔක්කොම ගැටලුවට විසඳුමක් ලෙස laravel-api-generator පැකේජයට --from-database විකල්පය එකතු කර ඇත. Composer මගින් composer require --dev nameless/laravel-api-generator ස්ථාපනය කර, පසුව php artisan make:fullapi --from-database කමාන්ඩ් එක ධාවනය කිරීමෙන්, ඔබේ සජීවී සකසන (schema) එක කියවා, සෑම ටේබලයක් සඳහාම Laravel හි සාමාන්ය මොඩල, කන්ට්රෝලර්, සෙවාව, DTO, Form Request, Resource, Factory, Seeder, Policy, සහ පරීක්ෂණ (PHPUnit හෝ Pest) ගොනු ස්වයංක්රීයව ජනනය කරයි.
මෙම ජනකය සරල වගුවක් පමණක් නොව, වඩාත් විස්තරාත්මක විශ්ලේෂණයක් කරයි. VARCHAR(255) NOT NULL UNIQUE වැනි කෝෂයක් required|string|max:255|unique:users,email ලෙස Form Request එකේ නියම වේ, Factory එකේ fake()->unique()->safeEmail() ලෙස පෙන්වයි. විදෙස් යතුරු (foreign keys) දෙපාර්ශවීය සම්බන්ධතා (belongsTo, hasMany) ලෙස PHPDoc තුළ ටයිප් කරයි. Pivot ටේබල් හඳුනාගෙන belongsToMany සම්බන්ධතා ගොඩනඟයි, morphable ක්ෂේත්ර (commentable_type + commentable_id) නම් morphTo ලෙස සැකසෙයි. Enum කෝෂයන් native PHP enum ලෙස, deleted_at කෝෂයක් soft deletes ක්රමයක් සක්රීය කරයි.
ආදර්ශ භාවිතය මෙසේයි: php artisan make:fullapi --from-database --tables=posts,categories,comments. මයිග්රේෂන් ගොනු නැවත ජනනය නොකෙරේ (අවශ්ය නම් --with-migrations භාවිතා කරන්න) සහ users ටේබලය පරීක්ෂා නොකරයි, එවිට ඔබේ අභිරුචි User මොඩලය රැකගත හැක. --tables=users යොදාගෙන ඒකත් ඇතුළත් කළ හැක.
ශ්රී ලංකාවට ඇති වැදගත්කම
- සැපයුම්කරුවන් හා ආරම්භකයන් – පැරණි දත්ත ගබඩාවක් තිබුණත්, කිසිදු මැදිරි කේතයක් රචනා නොකර API එකක් 15 මිනිත්තු තුළම ලැබීමට හැකියාව ඇත.
- විද්යාලය හා විශ්වවිද්යාල සිසුන් – Laravel 11+ නවීන සම්මතයන් අනුව සම්බන්ධතා, enum, soft deletes වැනි උදාහරණ අධ්යයනයට ඉතා හොඳ ආදර්ශයක් වේ.
- ව්යාපාරික සමාගම් – OpenAPI ලේඛන සහ Postman එකතුවක් සමඟ, ඉදිරිපත්කරුන්ට API විස්තරයක් වහාම ලබා දී, ඉක්මනින් ඉදිරි සංවර්ධනයේ පියවර ගත හැක.
අවසන් වශයෙන්, මෙම ජනකය කේත ලේඛන, පරීක්ෂණ, සහ ලේඛන (documentation) සම්පූර්ණයෙන්ම ස්වයංක්රීය කරයි. තාක්ෂණික තීරණය – මිනිස් බුද්ධිය – තවමත් අවශ්යයි, නමුත් “පයිප්ලයින්” කාර්යය මෙය අඩු කරයි. ඔබේ ව්යාපෘතියේ පරණ දත්ත ගබඩාවක් තිබේ නම්, Laravel API එකක් වහාම ලේඛනගත කරගැනීමට මෙය හොඳම විසඳුමයි.