سنعرض في هذا الدرس كيفية تثبيت إطار عمل Laravel وطريقة إعداده ثم نكتشف المجلدات المكوِّنة للإطار.
هذا الدرس جزء من سلسلة تعلم Laravel والتي تنتهج مبدأ "أفضل وسيلة للتعلم هي الممارسة"، حيث ستكون ممارستنا عبارة عن إنشاء تطبيق ويب للتسوق مع ميزة سلة المشتريات. يتكون فهرس السلسلة من التالي:
- مدخل إلى Laravel 5.
- تثبيت Laravel وإعداده على كلّ من Windows وUbuntu. (هذا الدرس)
- أساسيات بناء تطبيق باستخدام Laravel.
- إنشاء روابط محسنة لمحركات البحث (SEO) في إطار عمل Laravel.
- نظام Blade للقوالب.
- تهجير قواعد البيانات في Laravel.
- استخدام Eloquent ORM لإدخال البيانات في قاعدة البيانات، تحديثها أو حذفها.
- إنشاء سلة مشتريات في Laravel.
- الاستيثاق في Laravel.
- إنشاء واجهة لبرمجة التطبيقات API في Laravel.
- إنشاء مدوّنة باستخدام Laravel.
- استخدام AngularJS واجهةً أمامية Front end لتطبيق Laravel.
- الدوّال المساعدة المخصّصة في Laravel.
- استخدام مكتبة Faker في تطبيق Laravel لتوليد بيانات وهمية قصدَ الاختبار.
يتكون جانب التثبيت في هذا الدرس من جزأين، الأول لنظام تشغيل وندوز وسيكون الاعتماد فيه على برنامج Laragon؛ أما الجزء الثاني فهو موجَّه لتوزيعة لينكس Ubuntu 14.04.
وقع الاختيار على Laragon لسهولة العمل عليه إذ يأتي مضمَّنا بإطار عمل Laravel ولا يتطلب سوى إعدادات يسيرة، كما أنه يوفر واجهة أوامر Shell تتيح تنفيذ بعض أوامر Linux.
يغطي الدرس المواضيع التالية:
- متطلبات تثبيت Laravel
- تثبيت Laravel باستخدام Composer
- التحقق من نجاح تثبيت Laravel
- بنية المجلدات في Laravel
- إعداد مشروع عمل جديد في Laravel
متطلبات تثبيت Laravel
يجب قبل البدء في تثبيت Laravel التأكد من توفر العناصر التالية:
- خادوم ويب (Apache).
- الإصدار 5.5.9 من PHP لتثبيت الإصدار 5.2 من Laravel.
- قاعدة بيانات (MySQL).
- أداة Composer.
-
تفعيل الوحدات المطلوبة على كلّ من PHP (وهيّ OpenSSL، PDO ،Mbstring وTokenizer) وتعليمة
mod_rewrite
على Apache . - بيئة تطوير IDE (اختياري).
تتناول الفقرات التالية آلية تثبيت هذه العناصر على كل من نظام تشغيل Windows و توزيعة Ubuntu 14.04.
ملحوظة: سنعتمد في هذه السلسلة على الإصدار 5.2 من إطار العمل Laravel. قد توجد اختلافات طفيفة مع الإصدارات اللاحقة؛ إلا أن المبدأ العام هو نفسه.
تهيئة بيئة العمل على Windows
توجد برامج عدة تمكن من الحصول على بيئة تطوير Apache PHP MySQL على Windows ومن أشهرها XAMPP وWAMP. يوجد أيضا خيار آخر وهو برنامج Laragon الذي يتضمن خدمات أخرى إضافة للثلاثة المذكورة، من بينها أداة Composer لإدارة الاعتماديات Dependencies والتي تسهل من تثبيت Laravel وإنشاء مشاريع تعمل عليه كما سنرى لاحقا.
تثبيت Laragon
نبدأ بتنزيل برنامج Laragon من الموقع الرسمي ثم تثبيته. اختر أثناء التثبيت مجلد عمل Laragon:
سيقترح عليك المثبِّت تفعيل إنشاء المضيفات الافتراضية Virtual hosts تلقائيا.
تمكّن هذه الميزة من إنشاء مضيف افتراضي لكل مجلد يُنشأ ضمن أصل المستند Document root (أي \C:\laragon\www
في حالتنا). يعني هذا أنه عند إنشاء مجلد باسم wordpress
على المسار \C:\laragon
فإن مضيفا افتراضيا باسم wordpress.dev
يحيل إلى هذا المجلد سيُعد تلقائيا.
نكمل عملية التثبيت:
بإكمال تثبيت Laragon نكون قد ثبّتنا كلّا من خادوم ويب Apache، قاعدة بيانات MySQL وأداة إدارة الاعتماديات Composer.
نشغل الخدمات بالضغط على زر Start All.
تظهر الخدمات المشغَّلة (خادوم ويب Apache وقاعدة بيانات MySQL) في الواجهة الرئيسية للبرنامج.
يمكننا الآن إنشاء مشروع Laravel للعمل عليه. سنستخدم سطر الأوامر لهذا الغرض. توجد إمكانية إنشاء مشروع من واجهة البرنامج بالذهاب إلى قائمة:
Menu -> Laravel -> Create project -> Laravel 5
اضغط على زر Shell لإظهار سطر الأوامر. تبدو واجهة سطر الأوامر على النحو التالي:
إنشاء مشروع Laravel باستخدام أداة Composer
تُستخدَم أداة Composer لإدارة الاعتماديات في برمجيات PHP. يقوم مبدأ عملها على التصريح بالمكتبات والعناصر اللازمة للمشروع وستتولى الأداة تثبيتها وإدارة تحديثاتها.
اكتب الأمر التالي في نافذة سطر الأوامر:
composer create-project --prefer-dist laravel/laravel larashop "5.2.*"
ستحصُل على مخرجات مشابهة لما يلي:
ننتظر اكتمال تثبيت Laravel وإنشاء مشروع larashop:
يثبت الأمر السابق Laravel وينشئ مشروع Laravel باسم larashop في المجلد \C:\laragon\www
الذي هو أصل المستند.
ملحوظة: إذا كان إصدار Composer المضمّن في Laragon قديما فسيظهر لديك تحذير - قد يكون مصحوبا بخطأ في التثبيت - عند تنفيذ أمر Composer. للتخلّص من هذا التحذير، وتجاوز الخطأ، حدّث Composer بتنفيذ الأمر أدناه في نافذة سطر الأوامر:
composer self-update
نفعّل بعد اكتمال تثبيت Laravel وإنشاء مشروع larashop، خدمة PHP Server
على المنفذ 8000
في واجهة Laragon بالذهاب إلى القائمة Menu ثم خيار Preferences ثم تبويب Services & Ports ثم التأشير على الصندوق المناسب كما في الصورة أدناه.
ستلاحظ ظهور سطر جديد في واجهة البرنامج باسم الخدمة التي فعّلناها للتو.
اختبار التثبيت
يمكننا الآن التحقق من أن كل شيء جرى على ما يُرام؛ إما بالذهاب إلى واجهة Laragon ثم اختيار:
Menu -> www -> larashop
أو إدخال المسار التالي في شريط عنوان المتصفح:
http://localhost/larashop/public/
أو اسم المضيف التالي (إن كنت تركت خيار إنشاء المضيفات الافتراضية تلقائيا أثناء تثبيت Laragon):
http://larashop.dev
يجب أن تظهر صفحة الويب التالية في المتصفّح دلالة على أن كل شيء وُضع في مكانه الصحيح:
تهيئة بيئة العمل الخاصة بـ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
يجب أن تشبه النتيجة ما يلي:
تثبيت 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/
ستظهر الشاشة التالية دلالة على نجاح عملية التثبيت:
إنشاء مضيف افتراضي
نقدم هنا باختصار طريقة إنشاء مضيف افتراضي 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
في المتصفح.
بنية مجلدات 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.
تم التعديل في بواسطة محمد أحمد العيل
أفضل التعليقات
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.