خطوة 1: فحص بيئة العمل الخاصة بك
فحص بيئة العمل الخاصة بك¶
قبل بدء العمل على المشروع، نحتاج التأكد أن كل شخص لديه بيئة عمل مناسبة. هذا شيء هام جدا. أدوات المطورين التي نملكها الأن تختلف بشكل جذري عن الأدوات التي كنا نمتلكها منذ عقد من الزمان. لقد تطورت الأدوات بشكل كبير، للأحسن. سيكون من العار ألا نحسن منها، الأدوات الجيدة تستطيع إيصالك لمبتغى أفضل.
فضلا، لا تتجاوز هذه الخطوة. أو على الأقل، اقرأ القسم الأخير عن واجهة سطر الأوامر الخاصة بسيمفوني Symfony CLI.
الحاسوب¶
ستحتاج إلى حاسوب. الخبر الجيد أنك تستطيع العمل على أي نظام تشغيل: ماك macOS, ويندوز أو لينكس. سيمفوني وكل الأدوات التي سنستخدمها متوافقة مع كل نظام منهم.
خيارات الرأي¶
أريد التحرك بشكل سريع مع أفضل خيارات لدي. لقد حددت مسبقا بعض خيارات الرأي في هذا الكتاب.
ستكون PostgreSQL اختيارنا لكل شيء: من قاعدة البيانات إلى قوائم الانتظار ، ومن ذاكرة التخزين المؤقت إلى تخزين الجلسة. بالنسبة لمعظم المشاريع ، تعد PostgreSQL الحل الأفضل ، فهي تتوسع بشكل جيد وتسمح بتبسيط البنية التحتية من خلال خدمة واحدة فقط لإدارتها.
في نهاية الكتاب ، سوف نتعلم كيفية استخدام RabbitMQ لقوائم الانتظار و Redis للجلسات.
IDE¶
يمكنك استخدام برنامج Notepad اذا أردت. أنا لا أنصح بها رغم ذلك.
اعتدت العمل على محرر نصي Textmate. ليس بعد الأن. سهولة استخدام بيئة تطوير متكاملة "حقيقية" IDE لا تقدر بمال. الاكمال التلقائي، اضافة وترتيب عبارات use
، التنقل من ملف لأخر وعدة مميزات أخرى ستحسن انتاجيتك بشكل كبير.
سأنصح باستخدام Visual Studio Code أو PhpStorm. السابق مجاني، الأخير ليس مجانيا ولكن لديه تكامل أفضل مع سيمفوني (بفضل Symfony Support Plugin ). الخيار عائد لك. أنا اعلم أنك تريد معرفة أي بيئة عمل استخدمها. أنا أكتب هذا الكتاب باستخدام Visual Studio Code.
الطرفية (سطر الأوامر)¶
سنقوم بالتبديل بين بيئة التطوير لسطر الأوامر طوال الوقت. تستطيع استخدام الطرفية المدمجة في بيئة التطوير الخاصة بك، لكن أنا أفضل استخدام واحدة حقيقية للحصول على مساحة أوسع.
لينكس يأتي مع طرفية مدمجة Terminal
. استخدم iTerm2 على الماك macOS. على الويندوز Hyper تعمل جيدا.
Git¶
كتابي الأخير كان ينصح باستخدام subversion للتحكم في الاصدارات. يبدو أن الجميع يستخدمون Git الأن.
على ويندوز، قم بتثبيت Git bash.
Be sure you know how to do the common operations like running git clone
,
git log
, git show
, git diff
, git checkout
, ...
PHP¶
سنقوم باستخدام Docker للخدمات. لكن احب أن يكون PHP مثبت على حاسوبي الخاص لأداء أفضل، استقرار أكثر و لأسباب تبسيطية. يمكنك نعتي بعتيق الطراز اذا أردت. لكن تجميعة PHP بشكل محلي مع خدمات من Docker هو المزيج الأفضل بالنسبة لي.
Use PHP 8.0 and check that the following PHP extensions are installed or install them now: intl
, pdo_pgsql
,
xsl
, amqp
, gd
, openssl
, sodium
. Optionally
install redis
, curl
, and zip
as well.
يمكنك فحص إذا الإمتدادات مفعلة الأن عن طريق php -m
.
نحتاج أيضا إلى php-fpm
إذا كانت منصتك تدعمها، php-cgi
تعمل جيدا كذلك.
Composer¶
إدارة الإعتمادات هي كل شيء هذه الأيام مع مشاريع سيمفوني. احصل على أخر نسخة من Composer، أداة إدارة الحزم الخاصة ب PHP.
إذا لم تكن متمرسا على Composer، خذ بعض الوقت للقراءة والتعلم عن كيفية استخدامه.
Tip
لا تحتاج لكتابة الأوامر كاملة: composer req
تفعل نفس وظيفة composer require
، استخدم composer rem``بدلا عن ``composer remove
، ...
NodeJS¶
لن نكتب الكثير من كود JavaScript ، لكننا سنستخدم أدوات JavaScript/NodeJS لإدارة اللواحق. تأكد من تثبيت NodeJS ومدير الحزمة Yarn.
Docker و Docker Compose¶
سيتم ادارة الخدمات باستخدام أدوات Docker و Docker Compose. Install them و ابدأ Docker. اذا كانت هذه هي المرة الأولى لك، حاول التعامل مع الأداة. لا تجزع، استخدامنا سيكون مباشر وبسيط. بلا اعدادات خيالية، بدون تجهيزات معقدة.
Symfony CLI¶
أخيرا وليس أخرا، سنستخدم سطر أوامر Symfony
للمزيد من الإنتاجية. بدءا من خادم الويب المحلي الذي يقدمه، وصولا إلى تكامل مع Docker و دعم ل SymfonyCloud، سيكون موفرا عظيما للوقت.
ثبت Symfony CLI وقم بإضافته إلى إعدادات المسار $PATH
. أنشيء حساب SymfonyConnect إذا لم تملك واحدا قم بتسجيل الدخول عن طريق symfony login
.
لاستخدام بروتوكول HTTPS محليا، ستحتاج أيضا إلى install a certificate authority (CA) لتمكين دعم TLS. قم بتشغيل الأمر التالي:
1 | $ symfony server:ca:install
|
تحقق من احتواء جهاز الحاسوب الخاص بك على كافة المتطلبات عن طريق تشغيل الأمر التالي:
1 | $ symfony book:check-requirements
|
إذا أردت التألق، يمكنك أيضا تشغيل Symfony proxy . استخدامه اختياري لكنه يسمح لك بالحصول على اسم نطاق محلي ينتهي ب .wip
لمشروعك.
عند تشغيل أمر في طرفية سطر الأوامر، نقوم غالبا ببدءه ب symfony
مثل عند استخدام symfony composer
بدلا من فقط composer
، أو symfony console
بدلا من ./bin/console
.
السبب الرئيسي لذلك أن أداة سطر أوامر سيمفوني تقوم بإعداد بعض متغيرات البيئة بشكل تلقائي اعتمادا على الخدمات المشغلة على جهازك عن طريق Docker. هذه المتغيرات البيئية متاحة لطلبات HTTP لأن خادم الويب المحلي يحقنهم بشكل تلقائي. لذا، استخدام symfony
في سطر الأوامر يتأكد أنك تحصل على نفس السلوك على كافة الأصعدة.
علاوة على ذلك، سطر أوامر سيمفوني Symfony CLI يختار "أفضل" نسخة من PHP متاحة للمشروع.
- « Previous خطوة 0: عن ماذا يتحدث؟
- Next » خطوة 2: تقديم المشروع
This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.