گام 1: بررسی محیط کاری

5.0 version
Maintained

بررسی محیط کاری

قبل از شروع کار بر روی پروژه،‌ نیاز داریم تا بررسی کنیم که محیط کاری همه خوب است. این خیلی مهم است. ابزارهای توسعه‌ای که امروزه در اختیار داریم در مقایسه با ده سال پیش کاملاً متفاوت اند. این ابزارها تکامل زیادی پیدا کرده اند، تا بهتر باشند. مایه‌ی تاسف خواهد بود اگر از نیروی آن‌ها استفاده نکنیم. ابزارهای خوب می‌توانند موفقیت زیادی را برای شما به ارمغان بیاورند.

لطفاً این بخش را نادیده نگیرید. در صورتی که قصد مطالعه این بخش را ندارید حداقل آخرین بخش که مربوط به رابط خط فرمان سیمفونی (Symfony CLI) است را مطالعه کنید.

یک کامپیوتر

شما به یک کامپیوتر نیاز دارید. خبر خوب این که سیمفونی بر روی تمامی سیستم‌عامل‌های محبوب از جمله مک،‌ ویندوز و لینوکس قابل اجرا است. سیمفونی و تمام ابزارهایی که قرار است استفاده کنیم با هر کدام از این سیستم‌عامل‌ها سازگار هستند.

گزینه های انتخاب شده

می‌خواهم به سرعت بهترین گزینه‌های موجود را مرور کنم. انتخاب‌هایم برای این کتاب کاملاً مبتنی بر نظرات و عقاید شخصی است.

انتخاب ما برای موتور پایگاه‌داده، PostgreSQL است.

در زمینه‌ی صف‌بندی (سامانه‌ی دلال پیغام)، برنده‌ی ما نرم‌افزار RabbitMQ است.

IDE

اگر بخواهید می‌توانید از نرم‌افزار Notepad استفاده نمایید. هر چند من چنین توصیه‌ای نمی‌کنم.

من در گذشته از نرم‌افزار Textmate استفاده می کردم اما در حال حاضر آن را کنار گذاشته‌ام. راحتی و مزایای استفاده از یک IDE (محیط توسعه‌ی ادغام‌شده) مناسب، بسیار گرانبهاست. تکمیل خودکار، اضافه‌کردن و ترتیب‌دهی خودکار بیانیه‌های use و پریدن از یک فایل به فایل دیگر، از جمله امکاناتی است که باعث افزایش کارایی شما خواهد شد.

من توصیه می‌کنم که از Visual Studio Code یا PhpStorm استفاده کنید. از میان این دو گزینه، اولی رایگان است،‌ اگرچه دومی رایگان نیست اما (به لطف افزونه‌ی Symfony Support Plugin_) با Symfony یکپارچگی بهتری دارد. این به انتخاب شماست که کدام را انتخاب کنید. می‌دانم که می‌خواهید بدانید من از چه IDE ای استفاده می‌کنم. من این کتاب را با کمک _`Visual Studio Code می‌نویسم.

ترمینال

در تمام این مدت بین IDE و خط فرمان (ترمینال) سوییچ خواهیم کرد. برای این کار می‌توانید از خط فرمان داخلی در خود IDE استفاده کنید، اما من برای اینکه فضای بیشتری در اختیار داشته باشم ترجیح می‌دهم از یک ترمینال واقعی استفاده کنم.

لینوکس به صورت داخلی دارای Terminal است. برای سیستم‌عامل مَک از iTerm2 استفاده کنید. بر روی ویندوز نیز Hyper گزینه‌ی مناسبی است.

Git

آخرین کتابم (قبل از کتاب فعلی) نرم‌افزار Subversion را برای کنترل نسخه توصیه می‌کرد. اما حالا به‌نظر می‌رسد که همه از Git استفاده می‌کنند.

بر روی ویندوز، Git bash را نصب کنید.

مطمئن شوید که از نحوه‌ی انجام عملیات‌های معمول، همچون اجرای git clone، git log، git show، git diff، git checkout، ... آگاه هستید.

PHP

ما برای راه‌اندازی سرویس‌ها از Docker استفاده خواهیم کرد، اما ترجیح می‌دهم که به علت کارایی،‌ پایداری و سادگی بیشتر، PHP بر روی رایانه‌ام نصب باشد. می‌توانید این تفکر من را قدیمی بدانید اما از نظر من، ترکیب این دو روش عالی است.

در صورت امکان از PHP نسخه ۷.۳ استفاده کنید. با توجه به زمانی که این کتاب را می‌خوانید، امکان دارد بتوانید از نسخه ۷.۴ آن نیز استفاده کنید. بررسی کنید که این افزونه‌ها نصب باشند و یا آن‌ها را نصب کنید: intl، pdo_pgsql، xsl، amqp، gd، openssl، sodium. ترجیحاً افزونه‌های redis و curl را هم نصب نمایید هر چند که الزامی نیست.

برای آگاهی از افزونه‌های فعال، می‌توانید از فرمان php -m استفاده کنید.

ما به php-fpm هم نیاز داریم اگر پلتفرم شما آن را پشتیبانی می‌کند، البته php-cgi هم مناسب است.

Composer

امروزه مدیریت وابستگی‌ها بخش مهمی از پروژه‌های سیمفونی است. جدیدترین نسخه‌ی Composer را دانلود کنید، که یک ابزار مدیریت بسته‌ها برای PHP است.

اگر با Composer آشنا نیستید بهتر است برای یادگیری آن مقداری وقت بگذارید.

نکته

نیازی نیست فرامین را کامل تایپ کنید:‌ composer req همان کاری را می‌کند که composer require می‌کند و composer rem را به جای composer remove استفاده کنید و ...

Docker و Docker Compose

سرویس‌ها به وسیله Docker و Docker Compose مدیریت خواهند شد. آن ها را نصب کرده و Docker را اجرا کنید. اگر اولین بار است که از آن استفاده می‌کنید، با آن آشنا شوید. نگران نباشید، استفاده ما از آن بسیار ساده و به دور از پیکربندی‌ها و راه‌اندازی‌های پیچیده خواهد بود.

Symfony CLI

آخرین مطلب این است که ما از رابط خط فرمان symfony برای بالابردن بهره‌وری‌مان استفاده خواهیم کرد. این ابزار از طریق فراهم‌کردن وب سرور محلی،‌ یکپارچگی کامل با Docker و پشتیبانی از SymfonyCloud،‌ به ما در صرفه‌جویی در زمان کمک خواهد کرد.

رابط خط فرمان سیمفونی را نصب و آن را به $PATH اضافه کنید. اگر حساب کاربری ندارید، یک حساب کاربری در SymfonyConnect ایجاد کرده و با استفاده از symfony login وارد حساب کاربری خود شوید.

برای استفاده از HTTPS به صورت محلی، نیاز به نصب یک CA برای فعالسازی پشتیبانی از TLS داریم. فرمان زیر را اجرا کنید:

1
$ symfony server:ca:install

با اجرای فرمان زیر، از وجود تمامی موارد مورد نیاز در رایانه‌تان، مطمئن شوید:

1
$ symfony book:check-requirements

در صورت که می‌خواهید حرفه‌ای جلوه کنید، می‌توانید علاوه بر موارد گفته شده، سیمفونی پروکسی را نیز اجرا کنید. این بخش کاملاً اختیاری است اما به شما این امکان را می‌دهد که برای پروژه خود یک دامنه محلی که به .wip ختم می‌شود ایجاد کنید.

هنگام اجرای یک فرمان در ترمینال، تقریباً همیشه از پیشوند symfony استفاده می‌کنیم. مثلاً symfony composer به جای composer، یا symfony console به جای ./bin/console استفاده می‌شود.

علت اصلی این موضوع این است که رابط خط فرمان سیمفونی، به صورت خودکار و بر اساس سرویس‌های در حال اجرا بر روی رایانه‌ی شما درون Docker، تعدادی متغیر محیط را تنظیم می‌کند. از آنجایی که وب سرور محلی این متغیر‌ها را به صورت خودکار تزریق می‌کند، این متغیر‌های محیط برای درخواست‌های HTTP در دسترس هستند. بنابراین استفاده از symfony در رابط خط فرمان به ما تضمین می‌دهد که در همه جا رفتار مشابه خواهید داشت.

علاوه بر این، رابط خط فرمان سیمفونی به صورت خودکار بهترین نسخه‌ی ممکن PHP را برای پروژه‌ی شما انتخاب می‌نماید.


  • « Previous گام 0: این کتاب درباره‌ی چیست؟
  • Next » گام 2: معرفی پروژه

This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.