سوال : چگونه کوئری منیجر لاراول رو از فریمورک جدا کنیم و در پروژه های دیگر از آن استفاده کنیم؟
خواننده گرامی ، سلام !
لازم دونستم امروز به پاسخ این سوال بپردازم،برنامه نویس های PHP جهت ارتباط با دیتابیس از PDO استفاده میکنند که ما هم همین کار رو میکنیم اما در فریمورک زیبای لاراول خبری از دستورات sql نیست و دستورات با استفاده از یک کتابخانه خاص بنام کوئری بیلدر یا همان کوئری منیجر ارسال میشوند! کوئری منیجر لاراول از انواع دیتابیس ها پشتیبانی میکند و کاملا پیشرفته و قدرتمند است به همین دلیل است که افرادی که لاراول کار میکنند کلا دستورات sql را تا حدی فراموش کرده اند!!!
خب قبل از این کار باید کامپوزر- Composer را نصب کنید , در مورد اینکه کامپوزر چیست و چطور نصب میشه به پست های زیر میتونین مراجعه کنین:
آموزش نصب کامپوزر در ویندوز / مایکروسافت
آموزش نصب کامپوزر در لینوکس / اوبونتو
آموزش نصب کامپوزر در مک او اس / اپل
خب تا اینجای کار با خواندن و یا آشنا بودن مقاله هایی که بالا لینک کردم میدونیم کامپوزر چیه و چطور نصب میشه و در انواع سیستم عامل ها هم گفتیم که چطور نصب کنید.
توسعه دهنده های لاراول در گیت هاب پکیج های استفاده شده در لاراول رو بصورت جداگانه هم منتشر میکنن به شخصه من تا بحال به دنبال پکیج های لاراول به صورت جداگانه نبودم و با گشت و گذار زیادی تو وب این رو فهمیدم و پکیج ها رو پیدا کردم . در این لینک میتونید به مخزن گیت هاب پروژه کوئری منیجر لاراول وارد بشید این پکیج کاملا جامع هست و با هربار به روز رسانی لاراول این پکیج هم آپدیت میشه و همگام به نسخه آخر لاراول حرکت میکنه. نسخه های پیشین اون رو هم میتونید با نصب کننده کامپوزر نصب و استفاده کنید.
برای نصب آخرین نسخه این پکیج در پروژه خودتون با استفاده از کامپوزر از دستور زیر میتونید استفاده کنید :
$composer require illuminate/database
توصیه شده در صورتی که از Eloquent های لاراول هم اگر میخواید به همراه این پکیج استفاده کنین باید دستور زیر رو هم بزنید تا پکیج ایونت های لاراول هم براتون توی پروژه تون نصب بشه.
composer require illuminate/events
من بسیار از این تجربه راضی بودم چون میتونستم در پروژه های غیر لاراولی خودم هم از چنین پکیج جامعی استفاده کنم و به راحتی با دیتابیس ارتباط برقرار کنم.
جهت استفاده از این پکیج حتما یه فایل اصلی بسازید و کد های زیر رو داخلش قرار بدید:
require_once(__DIR__ . '/vendor/autoload.php'); use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Events\Dispatcher; use Illuminate\Container\Container; $capsule = new Capsule; $capsule->addConnection([ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]); $capsule->setEventDispatcher(new Dispatcher(new Container)); $capsule->setAsGlobal(); $capsule->bootEloquent();
در کد بالا نحوه اتصال به دیتابیس mysql با استفاده از این پکیج نوشته شده است. در کد بالا اطلاعات اتصال به دیتابیس را همانطور که مشخص است جایگذاری کنید.
سپس با include یا require کردن این فایل در هر قسمتی از پروژه تون میتونین کاملا راحت با استفاده از این پکیج با دیتابیس ارتباط برقرار کنین و ازش استفاده کنید.
سعی میکنم در آینده نحوه استفاده از این پکیج رو بصورت مختصر اینجا براتون بنویسم.
هر کسی مشکلی داشت اینجا در بخش نظرات اعلام کنه پاسخش رو میدم.