اذهب إلى المحتوى

سنعرض في هذا الدرس كيفية تثبيت إطار عمل Laravel وطريقة إعداده ثم نكتشف المجلدات المكوِّنة للإطار.

هذا الدرس جزء من سلسلة تعلم Laravel والتي تنتهج مبدأ "أفضل وسيلة للتعلم هي الممارسة"، حيث ستكون ممارستنا عبارة عن إنشاء تطبيق ويب للتسوق مع ميزة سلة المشتريات. يتكون فهرس السلسلة من التالي:

laravel5-install-config.png

يتكون جانب التثبيت في هذا الدرس من جزأين، الأول لنظام تشغيل وندوز وسيكون الاعتماد فيه على برنامج Laragon؛ أما الجزء الثاني فهو موجَّه لتوزيعة لينكس Ubuntu 14.04.

وقع الاختيار على Laragon لسهولة العمل عليه إذ يأتي مضمَّنا بإطار عمل Laravel ولا يتطلب سوى إعدادات يسيرة، كما أنه يوفر واجهة أوامر Shell تتيح تنفيذ بعض أوامر Linux.

يغطي الدرس المواضيع التالية:

  • متطلبات تثبيت Laravel
  • تثبيت Laravel باستخدام Composer
  • التحقق من نجاح تثبيت Laravel
  • بنية المجلدات في Laravel
  • إعداد مشروع عمل جديد في Laravel

متطلبات تثبيت Laravel

يجب قبل البدء في تثبيت Laravel التأكد من توفر العناصر التالية:

  1. خادوم ويب (Apache).
  2. الإصدار 5.5.9 من PHP لتثبيت الإصدار  5.2 من Laravel.
  3. قاعدة بيانات (MySQL).
  4. أداة Composer.
  5. تفعيل الوحدات المطلوبة على كلّ من PHP (وهيّ OpenSSL، PDO ،Mbstring وTokenizer) وتعليمة mod_rewrite على Apache .
  6. بيئة تطوير IDE (اختياري).

تتناول الفقرات التالية آلية تثبيت هذه العناصر على كل من نظام تشغيل Windows و توزيعة Ubuntu 14.04.

ملحوظة: سنعتمد في هذه السلسلة على الإصدار 5.2 من إطار العمل Laravel. قد توجد اختلافات طفيفة مع الإصدارات اللاحقة؛ إلا أن المبدأ العام هو نفسه.

تهيئة بيئة العمل على Windows

توجد برامج عدة تمكن من الحصول على بيئة تطوير Apache PHP MySQL على Windows ومن أشهرها XAMPP وWAMP. يوجد أيضا خيار آخر وهو برنامج Laragon الذي يتضمن خدمات أخرى إضافة للثلاثة المذكورة، من بينها أداة Composer لإدارة الاعتماديات Dependencies والتي تسهل من تثبيت Laravel وإنشاء مشاريع تعمل عليه كما سنرى لاحقا.

تثبيت Laragon

نبدأ بتنزيل برنامج Laragon من الموقع الرسمي ثم تثبيته. اختر أثناء التثبيت مجلد عمل Laragon:

01_install_laragon.PNG

سيقترح عليك المثبِّت تفعيل إنشاء المضيفات الافتراضية Virtual hosts تلقائيا.

02_install_laragon.PNG

تمكّن هذه الميزة من إنشاء مضيف افتراضي لكل مجلد يُنشأ ضمن أصل المستند Document root (أي \C:\laragon\www في حالتنا). يعني هذا أنه عند إنشاء مجلد باسم wordpress على المسار \C:\laragon فإن مضيفا افتراضيا باسم wordpress.dev يحيل إلى هذا المجلد سيُعد تلقائيا.

نكمل عملية التثبيت:

03_install_laragon.PNG

بإكمال تثبيت Laragon نكون قد ثبّتنا كلّا من خادوم ويب Apache، قاعدة بيانات MySQL وأداة إدارة الاعتماديات Composer.

نشغل الخدمات بالضغط على زر Start All.

04_install_laragon.PNG

تظهر الخدمات المشغَّلة (خادوم ويب Apache وقاعدة بيانات MySQL) في الواجهة الرئيسية للبرنامج.

05_install_laragon.PNG

يمكننا الآن إنشاء مشروع Laravel للعمل عليه. سنستخدم سطر الأوامر لهذا الغرض. توجد إمكانية إنشاء مشروع من واجهة البرنامج بالذهاب إلى قائمة:

Menu -> Laravel -> Create project -> Laravel 5

اضغط على زر Shell لإظهار سطر الأوامر. تبدو واجهة سطر الأوامر على النحو التالي:

06_install_laragon.PNG

إنشاء مشروع Laravel باستخدام أداة Composer

تُستخدَم أداة Composer لإدارة الاعتماديات في برمجيات PHP. يقوم مبدأ عملها على التصريح بالمكتبات والعناصر اللازمة للمشروع وستتولى الأداة تثبيتها وإدارة تحديثاتها.

اكتب الأمر التالي في نافذة سطر الأوامر:

composer create-project --prefer-dist laravel/laravel larashop "5.2.*"

ستحصُل على مخرجات مشابهة لما يلي:

07_install_laragon.PNG

ننتظر اكتمال تثبيت Laravel وإنشاء مشروع larashop:

08_install_laragon.PNG

يثبت الأمر السابق Laravel وينشئ مشروع Laravel باسم larashop في المجلد \C:\laragon\www الذي هو أصل المستند.

ملحوظة: إذا كان إصدار Composer المضمّن في Laragon قديما فسيظهر لديك تحذير - قد يكون مصحوبا بخطأ في التثبيت - عند تنفيذ أمر Composer. للتخلّص من هذا التحذير، وتجاوز الخطأ، حدّث Composer بتنفيذ الأمر أدناه في نافذة سطر الأوامر:

composer self-update

09_install_laragon.PNG

نفعّل بعد اكتمال تثبيت Laravel وإنشاء مشروع larashop، خدمة PHP Server على المنفذ 8000 في واجهة Laragon بالذهاب إلى القائمة Menu ثم خيار Preferences ثم تبويب Services & Ports ثم التأشير على الصندوق المناسب كما في الصورة أدناه.

10_install_laragon.PNG

ستلاحظ ظهور سطر جديد في واجهة البرنامج باسم الخدمة التي فعّلناها للتو.

اختبار التثبيت

يمكننا الآن التحقق من أن كل شيء جرى على ما يُرام؛ إما بالذهاب إلى واجهة Laragon ثم اختيار:

Menu -> www -> larashop

11_install_laragon.PNG

أو إدخال المسار التالي في شريط عنوان المتصفح:

http://localhost/larashop/public/

أو اسم المضيف التالي (إن كنت تركت خيار إنشاء المضيفات الافتراضية تلقائيا أثناء تثبيت Laragon):

http://larashop.dev

يجب أن تظهر صفحة الويب التالية في المتصفّح دلالة على أن كل شيء وُضع في مكانه الصحيح:

12_Laravel_5.PNG

تهيئة بيئة العمل الخاصة بـLaravel على لينكس

يتلخّص إعداد بيئة العمل الخاصة بـLaravel على لينكس بالخطوات التاليّة.

تثبيت Apache، PHP وMySQL

نبدأ بتثبيت حزم LAMP على أوبنتو. توجد خطوات التثبيت بالتّفصيل في درس كيف تُثبِّت حِزم MySQL، Apache، Linux :LAMP وPHP على Ubuntu 14.04. نشير هنا إلى أن الإصدر الموجود في المستودعات الرسمية لأوبنتو (5.6.11 أثناء كتابة هذه السطور) يفي بالمتطلبات (5.5.9 فما فوق).

تثبيت المتطلبات الأخرى

تثبَّت بعض الوحدات المطلوبة لتشغيل Laravel تلقائيا عند تثبيت PHP، في ما تحتاج أخرى لتثبيتها وتفعيلها. يثبت الأمر التالي هذه الوحدات وأدوات إضافية أخرى:

sudo apt-get install -y php5-json openssl php5-mcrypt curl git-core

أضفنا حزمتي curl و git-core التين تحتاجهما أداة Composer لتنزيل أرشيف Laravel إلى أمر التثبيت.

نفعّل وحدة mcrypt على PHP:

sudo php5enmod mcrypt

نفعّل كذلك تعليمة mod_rewrite على خادوم ويب Apache:

sudo a2enmod rewrite

نعيد تشغيل خادوم الويب لاعتماد التعديلات:

sudo service apache2 restart

تثبيت Composer وإعداده

نفذ الأمر التالي لتنزيل أداة Composer وتثبيتها:

curl -sS https://getcomposer.org/installer | php

نغيّر مكان الأداة ليصبح تنفيذها ممكنا دون الحاجة لذكر المسار الكامل للملف:

sudo mv composer.phar /usr/local/bin/composer

ثم نتأكد من سلامة تثبيت الأداة:

composer

يجب أن تشبه النتيجة ما يلي:

13_check_composer.png

تثبيت Laravel

يمكننا الآن تنفيذ الأمر التالي لتثبيت Laravel باستخدام Composer:

sudo composer create-project --prefer-dist laravel/laravel /var/www/html/larashop "5.2.*"

يثبت الأمر Laravel (الإصدار 5.2) وينشئ مشروعا على المسار /var/www/html/larashop/.

ننتظر حتى اكتمال التثبيت ثم نجعل الحساب الخاص بخادوم الويب مالكَ مجلد المشروع ونعطي إذن الكتابة لجميع المستخدمين حتى نتمكن من التعديل على ملفات المشروع:

sudo chown -R www-data:www-data /var/www/html/larashop
sudo chmod -R 777 /var/www/html/larashop

الخطوة الأخيرة هي نقل ملكية المجلد composer./~ إلى المستخدم الحالي:

sudo chown -R $USER $HOME/.composer

عند الذهاب الآن إلى العنوان http://localhost/larashop/public/ ستظهر الشاشة التالية دلالة على نجاح عملية التثبيت:

12_Laravel_5.PNG

إنشاء مضيف افتراضي

نقدم هنا باختصار طريقة إنشاء مضيف افتراضي Virtual host بحيث يمكننا الوصول إلى واجهة Laravel بكتابة اسم المضيف (اخترنا larashop.dev اسما للمضيف) فقط في المتصفح. للمزيد حول المضيفات الافتراضية راجع هذا الدرس.

نفذ الأمر التالي:

/etc/apache2/sites-available/larashop.dev.conf

أضف المحتوى:

<VirtualHost *:80>

  ServerName larashop.dev
  DocumentRoot /var/www/html/larashop/public/

   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /var/www/html/larashop/>
      AllowOverride All
   </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log
   LogLevel warn
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

أضف اسم المضيف إلى خادوم الويب:

sudo a2ensite larashop.dev

عطل اسم المضيف الافتراضي:

sudo a2dissite 000-default

أعد تحميل إعدادات Apache:

sudo service apache2 reload

افتح ملف المضيفات لتحريره:

sudo nano /etc/hosts

أضف السطر التالي مباشرة بعد السطر الأخير من الأسطر التي تبدأ بـ127.X.X.X:

127.0.1.1       larashop.dev

يمكن الآن الوصول إلى واجهة Laravel الأمامية بالذهاب إلى العنوان larashop.dev في المتصفح.

14_Laravel_5.png

بنية مجلدات Laravel

يلخص الجدول التالي أهم مجلدات Laravel التي تجب عليك معرفتها.

  • app: يحتوي على الشفرة المصدرية للتطبيق.
  • app/console: توجد أوامر artisan هنا.
  • app/events: يحتوي على أصناف Classes الأحداث Events.
  • app/exceptions: الأصناف التي تتعامل مع الاستثناءات Exceptions.
  • app/Http: تحتوي على الأصناف الخاصة بالمتحكِّمات Controllers، المُرشِحات Filters والطلبات Requests.
  • app/jobs: يحتوي هذا المجلد على الأشغال Jobs التي تمكن إضافتها إلى قائمة الانتظار Queue.
  • app/listeners: يحتوي على الأصناف التي تعالج الأحداث.
  • bootstrap: توجد هنا الأصناف التي يحتاجها إطار عمل Bootstrap.
  • config: يحتوي هذا المجلد على ملفات الإعداد.
  • database: توجد في المجلد أصناف التهجير Migration والبذر Seed الخاصتين بقاعدة البيانات. كما يحتوي المجلد على قاعدة بيانات SQLite.
  • public: يحتوي على متحكمات الواجهة الأمامية للتطبيق وموارد أخرى مثل الصور، ملفات CSS، Javascript وغيرها.
  • resources: يحوي العروض Views وملفات التوطين Localization.
  • storage: يحتوي على قوالب blade المجمّعة Compiled، حقول الجلسات Sessions وأمور أخرى.
  • tests: توجد به الاختبارات الأحادية Unit tests.
  • vendor: يحتوي على اعتماديات Composer.

إعداد مشروع Laravel جديد

إعداد التطبيق

توجد معلومات إعداد التطبيق في الملف config/app.php/ سنرى في هذه الفقرة:

  • ضبط وضع التنقيح Debugging mode: يُستخدم وضع التنقيح لتحديد مقدار المعلومات الواجب إظهارها عند حدوث أخطاء في التطبيق.
  • ضبط المنطقة الزمنية Time zone: يستخدم PHP هذا الإعداد في دوالّ الوقت والتاريخ.
  • مفتاح التطبيق Application key: تُستخدَم هذه القيمة في التعميّة Encryption.

وضع التنقيح

افتح الملف config/app.php/ واعثر على السطر التالي:

'debug' => env('APP_DEBUG', false),

عدّل السطر بحيث يصبح على النحو التالي:

'debug' => env('APP_DEBUG', true),

تفعلّ التعليمة ('debug' => env('APP_DEBUG', true وضع التنقيح بإعطاء القيمة true للمتغيّر APP_DEBUG؛ وهو ما يعني أن Laravel سيظهر معلومات مفصَّلة عند حدوث أخطاء. تفيد المعلومات المفصَّلة كثيرًا في البحث عن مشاكل في التطبيق ومن ثم تصحيحها.

المنطقة الزمنية

ابحث في نفس الملف عن السطر التالي:

'timezone' => 'UTC',

تعطي هذه التعليمة القيمة الافتراضيّة UTC للمتغيّر timezone. تشير UTC إلى التوقيت العالميّ الموّحّد؛ يمكنك إبدالها بالقيمة الموافقة لمنطقتك الزمنيّة المفضّلة.

مفتاح التطبيق

اعثر على السطر التالي:

'key' => env('APP_KEY', 'SomeRandomString'),

وضع سلسلة محارف String من اختيارك مكان SomeRandomString:

'key' => env('APP_KEY', 'ines5@dinemwa8aw3bambuyabakoiwe'),

اخترنا سلسلة محارف عشوائية من 32 محرفا Characters لاستخدامها في التعميّة.

إعدادات أخرى

توجد الكثير من الإعدادات الأخرى التي يمكن اكتشافها بتصفح الملف config/app.php.

إعداد الاستيثاق

توجد إعدادات الاستيثاق ضمن الملف config/auth.php/. سنترك الإعدادات بقيمها الافتراضية، يمكنك تغييرها بما يوافق احتياجاتك.

إعداد قاعدة البيانات

يوجد إعداد قاعدة البيانات ضمن الملف config/database.php/؛ تُستخدم قاعدة بيانات MySQL افتراضيّا. يمكن تعديل الملف لاستخدام نظام إدارة قواعد بيانات مختلف. سنستخدم قاعدة بيانات MySQL في هذا الدليل ونغيّر بضعة إعدادات:

  • اسم قاعدة البيانات database،
  • اسم المستخدم username،
  • كلمة سر المستخدم.

ابحث عن الأسطر التالية في ملف إعداد قاعدة البيانات:

'mysql' => [
  'driver'    => 'mysql',
  'host'      => env('DB_HOST', 'localhost'),
  'database'  => env('DB_DATABASE', 'forge'),
  'username'  => env('DB_USERNAME', 'forge'),
  'password'  => env('DB_PASSWORD', ''),
  'charset'   => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix'    => '',
  'strict'    => false,
],

حدّث القيم لتصبح على النحو التالي:

'mysql' => [
  'driver'    => 'mysql',
  'host'      => env('DB_HOST', 'localhost'),
  'database'  => env('DB_DATABASE', 'larashop'),
  'username'  => env('DB_USERNAME', 'root'),
  'password'  => env('DB_PASSWORD', 'melody'),
  'charset'   => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix'    => '',
  'strict'    => false,
],
  • تعد التعليمة ('database' => env('DB_DATABASE', 'larashop', التطبيق لاستخدام قاعدة بيانات larashop. يمكنك الذهاب إلى MySQL وإنشاء قاعدة بيانات خاوية باسم larashop في MySQL.
  • تضبط التعليمة ('username' => env('DB_USERNAME', 'root', التطبيق لاستخدام الحساب root للوصول إلى قاعدة البيانات. يجب أن تستخدم حساب مستخدم صالحا في MySQL.
  • التعليمة المواليّة ('password' => env('DB_PASSWORD', 'melody', تحدد كلمة سر الحساب المستخدم في التعليمة السابقة.

خاتمة

رأينا في هذا الدرس كيفية تثبيت Laravel ثم بنية المجلدات الموجودة في إطار العمل وإعدادات أساسية لمشروع Laravel. الخطوة التاليّة ستكون إنشاء أول تطبيق في Laravel.

ترجمة -وبتصرّف- لمقال Laravel 5 Installation and Configuration لصاحبه Rodrick Kazembe.

python1.png

python2.png

python3.png

python4.png

تم التعديل في بواسطة محمد أحمد العيل


تفاعل الأعضاء

أفضل التعليقات



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...