لو نظرنا إلى الـ Controller الذي يأتي بشكل تلقائي في Laravel 10 نرى أنه يعمل extend BaseController، وكذلك يستخدام AuthorizesRequests, ValidatesRequests;
<?php namespace App\Http\Controllers; class Controller extends BaseController { use AuthorizesRequests, ValidatesRequests; }
بينما في Laravel 11
<?php namespace App\Http\Controllers; abstract class Controller { // }
كما نلاحظ أنه تم إزالة AuthorizesRequests, ValidatesRequests فإذا كنا بحاجه لهم، يجب إضافتهم بشكل يدوي.
المقصود بها التحكم بعدد الطلبات في وقت معين، في Laravel 10 كانت الطلبات بالدقائق ، بينما في Laravel 11 أصبحت بالثواني، ولتفعيل ذلك نحتاج لإضافة rate limit إلى app/providers/appServiceProvider
public function boot(): void { RateLimiter::for('invoices', function (Request $request) { return Limit::perSecond(1); }); }
مع إتاحة الإمكانية لتعديل perSecond إلى perMinute
في Laravel 10 كان casts عبارة عن protected attribute
protected $casts = [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ];
بينما في Laravel 11 أصبحت protected function
protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; }
في Laravel 10 كنا نستخدم
dump('Hellow'); dd('Hellow')
بينما في Laravel 11 تم إضافة traid Dupable
abstract class Controller { use Dumpable; public function index() { $this->dd('hellow'); } }