Laravel: ورژن 5 سے آج تک

Laravel صرف بدلا نہیں، بلکہ یہ پروان چڑھا ہے۔

اگر آپ کوئی پرانا Laravel 5 پروجیکٹ کھولیں، تو آپ کو مختلف دہائیوں کے کمروں والا ایک گھر نظر آئے گا۔ یہ کام تو کرتا ہے، لیکن کنٹرولرز (controllers) بہت زیادہ کام کر رہے ہوتے ہیں۔ مڈل ویئر (middleware) پرانا ہو چکا ہوتا ہے۔ ہیلپر فائلز (helper files) بکھری ہوئی ہوتی ہیں۔

پھر بھی، اس کا بنیادی ڈھانچہ وہی رہتا ہے۔ آپ اب بھی routes، Eloquent، migrations، اور Blade کا استعمال کرتے ہیں۔

Laravel کوئی دوسرا فریم ورک نہیں بنا، بلکہ یہ اسی تصور کا ایک پختہ ورژن بن گیا ہے: آپ کو صاف ستھرے ڈیفالٹس فراہم کرنا اور آپ کو بنیادی ڈھانچے (plumbing) سے لڑے بغیر اپنا کام مکمل کرنے دینا۔

فن کا ارتقاء

Laravel 5 ایک مضبوط ٹول باکس تھا۔ اس نے PHP کو دوبارہ ایک سنجیدہ پلیٹ فارم کے طور پر پیش کیا۔ اس نے آپ کو فراہم کیا:

  • ریکویسٹ فلٹرنگ کے لیے Middleware۔
  • ویلیڈیشن کو بہتر بنانے کے لیے Form requests۔
  • بیک گراؤنڈ ٹاسکس کے لیے Jobs اور queues۔
  • ڈیٹا بیس ماڈلز کے لیے Eloquent۔

Laravel 6، 7، اور 8 کا مرکز روزمرہ کے کام کو آسان بنانا تھا۔

  • Semantic versioning سے استحکام آیا۔
  • Factories نے ٹیسٹنگ ڈیٹا کو آسان بنا دیا۔
  • Blade components نے کوڈ کے دوہراؤ کو روکا۔
  • Sanctum نے API authentication کو سادہ بنا دیا۔

Laravel 9 اور 10 نے جدید PHP کو اپنایا۔

  • آپ کو typed properties اور بہتر return types ملے۔
  • ٹیسٹنگ ورک فلو کا ایک بنیادی حصہ بن گئی۔
  • ایکو سسٹم صرف کوڈ تک محدود نہیں رہا بلکہ اس میں وسعت آئی۔

جدید Laravel ایک مکمل ورکشاپ ہے۔ اس میں deployment، monitoring، اور AI-aware ورک فلو شامل ہیں۔

ایکو سسٹم ہی اصل طاقت ہے

Laravel محض ایک فریم ورک نہیں ہے۔ یہ سروسز کا ایک شہر ہے۔ آپ کو پہلے دن سب کچھ درکار نہیں ہوگا، لیکن آپ کو معلوم ہونا چاہیے کہ وہ موجود ہیں:

  • Deployment: Forge سرورز کو سنبھالتا ہے۔ Vapor AWS پر serverless scaling کو ہینڈل کرتا ہے۔ Envoyer بغیر کسی رکاوٹ (zero-downtime) کے deployments کو یقینی بناتا ہے۔
  • Management: Nova پریمیم ایڈمن پینلز فراہم کرتا ہے۔
  • Visibility: Horizon Redis queues کی نگرانی کرتا ہے۔ Telescope ڈی بگنگ اسسٹنٹ کے طور پر کام کرتا ہے۔ Pulse کارکردگی (performance) کو ٹریک کرتا ہے۔
  • Real-time: Reverb قدرتی WebSocket سپورٹ فراہم کرتا ہے۔
  • Core Utilities: Cashier بلنگ سنبھالتا ہے۔ Scout سرچ سنبھالتا ہے۔ Sanctum API auth سنبھالتا ہے۔

فریم ورک سے ایکو سسٹم کی طرف منتقلی

سب سے بڑی تبدیلی اثر و رسوخ (leverage) کی سطح میں ہے۔ Laravel 5 نے PHP کو منظم کرنے میں آپ کی مدد کی۔ جدید Laravel آپ کو بنانے (build)، ڈیپلائے کرنے (deploy)، مانیٹر کرنے (monitor)، اسکیل کرنے (scale)، اور سرچ کرنے (search) میں مدد دیتا ہے۔

یہ آپ کو ایک بھاری بیگ اٹھانے کے بجائے ایک منظم کیری آن (carry-on) استعمال کرنے کی طرف لے جاتا ہے۔ آپ کم بوجھ اٹھاتے ہیں لیکن تمام صلاحیتیں برقرار رکھتے ہیں۔

پرانے ایپس (Legacy Apps) کو اپ گریڈ کرنے کے لیے مشورے

اپ گریڈ کو سب کچھ دوبارہ لکھنے کے مشن کے طور پر نہ لیں۔ اسے اس طرح سمجھیں جیسے لوگ گھر میں رہ رہے ہوں اور آپ اس کی مرمت کر رہے ہوں۔

  • ایک وقت میں صرف ایک بڑا ورژن اپ گریڈ کریں۔
  • اپنے بزنس لاجک (business logic) کو محفوظ رکھنے کے لیے ٹیسٹ کا استعمال کریں۔
  • پہلے اپنے پیکج ڈیپینڈینسیز (package dependencies) کو چیک کریں۔
  • صرف ریلیز نوٹس ہی نہیں بلکہ اپ گریڈ گائیڈز بھی پڑھیں۔

بورنگ انفراسٹرکچر خوبصورت ہوتا ہے۔ اس کا مطلب ہے کہ آپ اپنی توانائی وائرنگ کے بجائے پروڈکٹ لاجک پر صرف کرتے ہیں۔

Source: https://dev.to/nazar_boyko/laravel-from-version-5-to-today-the-framework-grew-up-with-us-3cil