پلتفرم Laravel
(Laravel Platform)اتصال به دیتابیسها
در صورتی که تمایلی به خواندن آموزش متنی ندارید میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
بهندرت پیش میآید که در برنامهای از دیتابیس استفاده نشده باشد. اگر در برنامه Laravel خود، از دیتابیس استفاده کردهاید میتوانید بهاینصورت به آن متصل شوید.
از هر دیتابیسی که لاراول پشتیبانی میکند میتوانید استفاده کنید. صرفا کافیست که اطلاعات اتصال به دیتابیسی که ساختهاید را از بخش متغیرها برای برنامهیتان تنظیم کنید. برای نمونه، در ادامه اطلاعات اتصال به یک دیتابیس MySQL را قرار دادهایم:
DB_CONNECTION=mysql
DB_HOST=s11.liara.ir
DB_PORT=3306
DB_DATABASE=laravel-starter-db
DB_USERNAME=root
DB_PASSWORD=xxxxxxxxxxxx
قابلیت Connection Pooling
شما میتوانید در برنامه Laravel خود، قابلیت Connection Pooling را نیز فعال کنید. در Connection Pooling برنامه به جای ایجاد یک ارتباط (Connection) جدید برای انجام عملیات دیتابیسی و بستن آن پس از پایان عملیات، از ارتباطهایی که قبلاً ایجاد شدهاند، استفاده میکند.
استفاده از Connection Pooling کارایی برنامه را افزایش میدهد و تاثیر بسیار زیادی در بهینهسازی و کاهش منابع مورد استفاده برنامه و دیتابیس دارد. بنابراین توصیه میشود که حتماً در حالت Production، از این قابلیت، استفاده کنید.
برای فعالسازی این قابلیت در برنامههای Laravel کافیست که در فایل config/database.php قطعه کد زیر را در بخش option تنظیمات مربوط به دیتابیستان بگذارید:
PDO::ATTR_PERSISTENT => true,
به عنوان مثال، پیکربندی مربوط به دیتابیس MySQL باید به شکل زیر باشد:
'mysql' => [
'driver' => 'mysql',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => env('DB_CHARSET', 'utf8mb4'),
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
PDO::ATTR_PERSISTENT => true,
]) : [],
],
متوجه شدم، برو گام بعدی!