إنشاء وتشغيل مشروع Laravel
ما هو Laravel؟
Laravel هو إطار عمل ويب PHP مفتوح المصدر تم إنشاؤه من قبل مطور PHP تايلور أوتويل. يهدف إلى توفير أدوات نظيفة وأنيقة للمطورين لبناء تطبيقات ويب حديثة. يقدم Laravel مجموعة غنية من الميزات مثل التوجيه، الجلسات، التخزين المؤقت، والمصادقة، إلخ، التي تسهل مهام تطوير الويب الشائعة.
الميزات الرئيسية ومزايا Laravel
- البساطة والأناقة: لغة البرنامج في Laravel بسيطة وأنيقة، مما يجعل الكود أكثر قابلية للقراءة والصيانة.
- مجموعة غنية من الميزات: يتضمن التوجيه، المصادقة، إدارة الجلسات، والتخزين المؤقت، مما يبسط عملية التطوير بشكل كبير.
- ORM قوية: يوفر Eloquent ORM تنفيذ ActiveRecord بسيط لعمليات قاعدة البيانات.
- تصميم نمطي: يمكن دمج المكتبات والإضافات الخارجية بسهولة من خلال مدير حزم Composer.
- دعم قوي من المجتمع: مجتمع مطورين كبير ونظام بيئي غني.
يساعد Laravel المطورين في بناء تطبيقات ويب وواجهات برمجية عالية الجودة بسرعة، ويتناسب مع المشاريع بجميع الأحجام، من التطبيقات الصغيرة إلى أنظمة المؤسسات الكبيرة.
إنشاء وتشغيل مشروع Laravel مع ServBay
في هذه المقالة، سنستخدم بيئة PHP في ServBay لإنشاء وتشغيل مشروع Laravel. سنستخدم ميزة Host
في ServBay لإعداد خادم الويب والوصول إلى المشروع من خلال تكوين بسيط.
ملاحظة: إذا كنت مستخدمًا سابقًا لـ NGINX أو Apache
يستخدم ServBay Caddy كخادم ويب افتراضي. هناك بعض التغييرات الرئيسية التي يجب ملاحظتها للمستخدمين الذين ينتقلون من NGINX وApache إلى ServBay:
تكوين Caddy
يتضمن ServBay Caddy بشكل مدمج، وهو محسن ومدمج بالفعل بصورة افتراضية. يحتاج المطورون فقط إلى استخدام ميزة
Host
في ServBay لإدارة الموقع، دون الحاجة إلى تعديل ملفات تكوين Caddy يدويًا.قواعد إعادة الكتابة و .htaccess
في NGINX وApache، عادة ما يحتاج المطورون إلى كتابة قواعد إعادة الكتابة وملفات .htaccess بأنفسهم للتعامل مع إعادة كتابة URL والتكوينات الأخرى. ومع ذلك، إن إعدادات ServBay الافتراضية تهيئ قواعد Caddy بالفعل، لذلك ما لم تكن هناك متطلبات خاصة، لا يحتاج المطورون إلى كتابة هذه القواعد بأنفسهم.
لمعرفة المزيد
لمزيد من المعلومات، يرجى الرجوع إلى إعادة الكتابة و htaccess، كيفية نقل مواقع Apache إلى ServBay، كيفية نقل مواقع NGINX إلى ServBay.
إنشاء مشروع Laravel
TIP
يوصي ServBay بأن يضع المطورون الموقع في دليل /Applications/ServBay/www
لسهولة الإدارة.
تثبيت Composer
يأتي ServBay مع Composer مثبت مسبقًا، لا حاجة لتثبيت منفصل.
إنشاء مشروع Laravel
استخدم Composer لإنشاء مشروع Laravel جديد:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4الدخول إلى دليل المشروع
انتقل إلى دليل مشروع Laravel الذي تم إنشاؤه حديثًا:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
التكوين الأولي
توليد مفتاح التطبيق
يحتاج Laravel إلى مفتاح تطبيق لضمان أمان جلسات المستخدمين والبيانات المشفرة الأخرى. يمكنك توليد مفتاح تطبيق باستخدام أمر Artisan:
bashphp artisan key:generate
1تكوين متغيرات البيئة
قم بتكوين معلومات اتصال قاعدة البيانات وغيرها من متغيرات البيئة في ملف
.env
. تأكد من تعيين التكوينات التالية بشكل صحيح:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
تكوين خادم الويب
استخدم ميزة Host
في ServBay للوصول إلى مشروع Laravel عبر خادم الويب. في إعدادات Host
في ServBay، أضف مضيفًا جديدًا:
- الاسم:
موقعي الأول لتطوير Laravel
- المجال:
servbay-laravel-test.local
- نوع الموقع:
PHP
- إصدار PHP: اختر
8.3
- دليل جذر الموقع:
/Applications/ServBay/www/servbay-laravel-app/public
لمعرفة الخطوات التفصيلية، يرجى الرجوع إلى إضافة أول موقع ويب.
إضافة كود عينة
أضف الكود التالي إلى ملف routes/web.php
لعرض "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
الوصول إلى الموقع
افتح متصفحًا وقم بزيارة https://servbay-laravel-test.local
، سترى صفحة تعرض Hello ServBay!
.
مثال على قاعدة بيانات NoSQL
مثال Memcached
تثبيت ملحق Memcached
في ServBay، يتم تثبيت ملحق Memcached مسبقًا، لا حاجة إلى تثبيت إضافي.
تكوين Memcached
قم بتكوين معلومات اتصال Memcached في ملف
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2استخدام Memcached
استخدم التخزين المؤقت في التوجيهات
routes/web.php
:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6افتح متصفحًا وقم بزيارة
https://servbay-laravel-test.local/memcached
مثال Redis
تثبيت ملحق Redis
في ServBay، يتم تثبيت ملحق Redis مسبقًا، لا حاجة إلى تثبيت إضافي.
تكوين Redis
قم بتكوين معلومات اتصال Redis في ملف
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4استخدام Redis
استخدم التخزين المؤقت في التوجيهات
routes/web.php
:phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6افتح متصفحًا وقم بزيارة
https://servbay-laravel-test.local/redis
مثال على قاعدة بيانات علائقية
إنشاء هيكل قاعدة البيانات وملفات الترحيل
مثال MySQL
تكوين MySQL
قم بتكوين معلومات اتصال MySQL في ملف
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6إنشاء ملف ترحيل
استخدم أمر Artisan لإنشاء ملف ترحيل:
bashphp artisan make:migration create_accounts_table
1تحرير ملف الترحيل
ابحث عن ملف الترحيل الذي تم إنشاؤه حديثًا في دليل
database/migrations
وقم بتحريره لتعريف هيكل قاعدة البيانات:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9تشغيل الترحيل
استخدم أمر Artisan لتشغيل الترحيل لإنشاء جدول قاعدة البيانات:
bashphp artisan migrate
1إدراج بيانات الحساب
أدخل بيانات الحساب في التوجيهات
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9استخدام MySQL
قم باستعلام قاعدة البيانات في التوجيهات
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6افتح متصفحًا وقم بزيارة
https://servbay-laravel-test.local/mysql-add
وhttps://servbay-laravel-test.local/mysql
مثال PostgreSQL
تكوين PostgreSQL
قم بتكوين معلومات اتصال PostgreSQL في ملف
.env
:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6إنشاء ملف ترحيل
استخدم أمر Artisan لإنشاء ملف ترحيل:
bashphp artisan make:migration create_accounts_table
1تحرير ملف الترحيل
ابحث عن ملف الترحيل الذي تم إنشاؤه حديثًا في دليل
database/migrations
وقم بتحريره لتعريف هيكل قاعدة البيانات:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9تشغيل الترحيل
استخدم أمر Artisan لتشغيل الترحيل لإنشاء جدول قاعدة البيانات:
bashphp artisan migrate
1إدراج بيانات الحساب
أدخل بيانات الحساب في التوجيهات
routes/web.app
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9استخدام PostgreSQL
قم باستعلام قاعدة البيانات في التوجيهات
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6افتح متصفحًا وقم بزيارة
https://servbay-laravel-test.local/pgsql-add
وhttps://servbay-laravel-test.local/pgsql
باتباع الخطوات أعلاه، قمت بنجاح بإنشاء وتشغيل مشروع Laravel، وقمت بإدارة والوصول إلى مشروعك باستخدام ميزات ServBay، واتصلت بقاعدة بيانات متعددة واستعلمت البيانات.