لو نظرنا إلى الـ 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');
}
}