نحوه نصب و استفاده از composer در اوبونتو 16.04

نحوه نصب و استفاده از composer در اوبونتو 16.04

معرفی

composer یک ابزار مدیریت وابستگی محبوب برای PHP است که عمدتا برای تسهیل نصب و به روز رسانی وابستگی های پروژه ایجاد شده است. این بررسی خواهد کرد که بسته های دیگر یک پروژه خاص بستگی دارد و آنها را برای شما نصب می کند، با استفاده از نسخه های مناسب مطابق با الزامات پروژه.

این آموزش نحوه نصب و شروع به کار با Composer را در یک سیستم اوبونتو 16.04 توضیح خواهد داد.

پیش نیازها

برای این آموزش، شما نیاز دارید:

یک سیستم عامل اوبونتو 16.04 است

دسترسی به سرور به عنوان یک کاربر معمولی با مجوز sudo

مرحله 1 – نصب وابستگی ها

قبل از دانلود و نصب composer، ما باید مطمئن شویم که تمام وابستگی های ما نصب شده است.

اول، کشیدن مدیر بسته های بسته با اجرای:

sudo apt-get update
حالا، وابستگی ها را نصب کن. ما curlبرای دانلود Composer و php-cliبرای نصب و اجرای آن نیاز داریم. این php-mbstringبسته لازم است تا توابع را برای یک کتابخانه که از آن استفاده می کنیم، ارائه دهد. gitتوسط Composer برای دانلود وابستگی های پروژه و unzipاستخراج بسته های زیپ استفاده می شود. همه چیز را می توان با دستور زیر نصب کرد:

sudo apt-get install curl php-cli php-mbstring git unzip
اکنون می توانید به مرحله بعدی بروید.

مرحله 2 – دانلود و نصب composer

composer فراهم می کند نصب کننده، نوشته شده در PHP. اطمینان حاصل کنید که شما در دایرکتوری خانه خود هستید و نصب را با استفاده از curl:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
بعد، یک اسکریپت پی اچ پی کوتاه را اجرا کنید تا مطمئن شوید که نصب کننده با هش SHA-384 برای آخرین نصب کننده موجود در صفحه کلید های عمومی / امضای Composer مطابقت دارد . شما باید مطمئن شوید که آخرین هش برای ارزش برجسته زیر را جایگزین کنید:

php -r “if (hash_file(‘SHA384’, ‘composer-setup.php’) === ‘669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
خروجی
Installer verified

برای نصب در composerسطح جهانی، از موارد زیر استفاده کنید:

sudo php composer-setup.php –install-dir=/usr/local/bin –filename=composer
این کامپوزر را به عنوان یک فرمان سیستم نامگذاری شده composerدر زیر دانلود و نصب می کند /usr/local/bin. خروجی باید به صورت زیر باشد:

Output
All settings correct for using Composer
Downloading 1.1.1…

Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
برای تست نصب خود، اجرا کنید:

composer

و شما باید خروجی شبیه به این داشته باشید:

Output
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.1.1 2016-05-17 12:25:44

Usage:
command [options] [arguments]

Options:
-h, –help Display this help message
-q, –quiet Do not output any message
-V, –version Display this application version
–ansi Force ANSI output
–no-ansi Disable ANSI output
-n, –no-interaction Do not ask any interactive question
–profile Display timing and memory usage information
–no-plugins Whether to disable plugins.
. . .

این بدان معنی است که composer بر روی سیستم شما نصب شد.

 

اگر شما ترجیح میدهید اجرایی جداگانه کامپوزر برای هر پروژهی که در این سرور میزبانی میکنید داشته باشید، می توانید به سادگی آن را به صورت محلی بر اساس یک پروژهای نصب کنید. کاربران NPM با این رویکرد آشنا هستند. این روش همچنین مفید است زمانی که کاربر سیستم شما مجوز نصب سیستم نرم افزاری را نداشته باشد.

در این مورد، پس از بارگیری و تایید اسکریپت نصب به صورت فوق، نصب را می توان انجام داد، مانند:

php composer-setup.php

این یک composer.pharفایل در دایرکتوری فعلی شما ایجاد می کند که می تواند با آن اجرا شود ../composer.phar command

مرحله 3 – ایجاد فایل composer.json

برای استفاده از composer در پروژه خود، به یک composer.jsonفایل نیاز دارید . composer.jsonفایل اساسا composer که وابستگی به آن نیاز دارد برای دانلود به صورت پروژه خود را، و نسخه های از هر بسته مجاز به نصب شود می گوید. این بسیار مهم است که پروژه شما را پایدار نگه دارد و از نصب نسخه های ناپایدار جلوگیری شود که به طور بالقوه می تواند مسائل مربوط به سازگاری را ایجاد کند.

شما لازم نیست که این فایل را به صورت دستی ایجاد کنید – هنگام انجام این کار، خطاهای نحو به راحتی اجرا می شود. composer خودکار composer.jsonفایل را هنگامی که وابستگی به پروژه خود را با استفاده از requireدستور اضافه می کند، تولید می کند . وابستگی های اضافی نیز می تواند به همان شیوه اضافه شود، بدون نیاز به ویرایش دستی این فایل.

روند استفاده از کامپوزر برای نصب بسته به عنوان وابستگی در یک پروژه معمولا شامل مراحل زیر است:

شناسایی نوع برنامه مورد نیاز کتابخانه

یک کتابخانه منبع باز مناسب را در Packagist.org ، مخزن رسمی بسته برای Composer، تحقیق کنید
بسته ای را که میخواهید بسته کنید را انتخاب کنید
اجرا کنید composer requireتا وابستگی را در composer.jsonفایل قرار دهید و بسته را نصب کنید
ما خواهیم دید که چگونه این کار با یک برنامه آزمایشی ساده کار می کند.

هدف از این برنامه تبدیل یک جمله داده شده به یک رشته دوستانه URL است – یک حلزون . این معمولا برای تبدیل عناوین صفحات به مسیرهای URL (مانند بخش نهایی URL برای این آموزش) استفاده می شود.

با ایجاد یک دایرکتوری برای پروژه ما شروع کنید. ما آن را لغو خواهیم کرد :

cd ~
mkdir slugify
cd slugify

جستجو بسته بر روی Packagist

در حال حاضر زمان برای جستجو آن را Packagist.org برای یک بسته است که می تواند ما را تولید کمک راب . اگر شما در جستجوی Packagist اصطلاح “Slug” هستید، نتیجه ای شبیه به این خواهید داشت:

نحوه نصب و استفاده از composer در اوبونتو 16.04

نحوه نصب و استفاده از composer در اوبونتو 16.04

نحوه نصب و استفاده از composer در اوبونتو 16.04

Search Packagist: آسان آسان / آسان slug، کوفته / رول، DDD / رول، Zelenin / رول، Webcastle / Slug، Anomaly / Slug-field_type

شما دو عدد را در سمت راست هر بسته در لیست خواهید دید. شماره در بالا نشان دهنده چندین بار بسته نصب شده است و شماره پایین نشان می دهد چند بار یک بسته در GitHub ستاره گذاری شده است. شما می توانید نتایج جستجو بر اساس این اعداد را تغییر دهید (برای دو آیکون در سمت راست نوار جستجو نگاه کنید). به طور کلی، بسته های با نصب بیشتر و ستاره های بیشتر تمایل به پایدار تر است، چرا که بسیاری از مردم از آنها استفاده می کنند. همچنین مهم است که توضیحات بسته برای ارتباط را بررسی کنید – این واقعا چه چیزی شما را دنبال می کند؟

جهت مشاوره و خرید سرور اوبونتو برای استفاده کامپوزر می توانید از طریق لینک پشتیبانی با بخش فروش مشاوره قبل از خرید کنید .

آنچه که ما نیاز داریم، یک مبدل ساده به رم است. از نتایج جستجو، بسته cocur/slugifyبه نظر می رسد یک بازی خوب است، با مقدار قابل توجهی از تاسیسات و ستاره. (بسته کمی پایینتر از صفحه نمایش است.)

متوجه خواهید شد که بسته های Packagist دارای نام فروشنده و نام بسته هستند . هر بسته دارای شناسه ی منحصر به فرد (فضای نام) در همان قالب GitHub برای مخازن آن استفاده می کند vendor/package:. کتابخانه ای که می خواهیم نصب کنیم از فضای نامی استفاده می کند cocur/slugify . فضای نامی چیزی است که ما نیاز داریم تا بسته را در پروژه ما نیاز داشته باشیم.

نیاز به یک بسته

اکنون که دقیقا می دانیم که کدام بسته ما می خواهیم نصب کنیم، می توانیم composer requireآن را به عنوان وابستگی وارد کنیم و همچنین composer.jsonفایل را برای پروژه ایجاد کنیم:

composer require cocur/slugify
Output
Using version ^2.1 for cocur/slugify
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
– Installing cocur/slugify (v2.1.1)
Downloading: 100%

Writing lock file
Generating autoload files
همانطور که می توانید از خروجی را مشاهده کنید، composer به طور خودکار تصمیم می گیرد که کدام نسخه از بسته استفاده شود. اگر دایرکتوری پروژه خود را در حال حاضر بررسی کنید، این فایل شامل دو فایل جدید است: composer.jsonو composer.lockو یک vendorدایرکتوری:

ls -l
Output
total 12
-rw-rw-r– 1 sammy sammy 59 May 17 10:24 composer.json
-rw-rw-r– 1 sammy sammy 2894 May 17 10:24 composer.lock
drwxrwxr-x 4 sammy sammy 4096 May 17 10:24 vendor

این composer.lockپرونده برای ذخیره اطلاعات در مورد کدام نسخه از هر بسته نصب شده است و مطمئن شوید که نسخه های مشابه نیز مورد استفاده قرار می گیرند، در صورتی که شخص دیگری پروژه شما را نصب و وابستگی خود را نصب کند. vendorدایرکتوری است که در آن وابستگی های پروژه در آن قرار دارد. vendorپوشه باید نه به کنترل نسخه متعهد شود – شما تنها نیاز دارید که شامل composer.json و composer.lock فایل های.

هنگام نصب یک پروژه که قبلا حاوی یک composer.jsonفایل است، شما باید به composer installمنظور دانلود وابستگی های پروژه، اجرا کنید.

درک محدودیتهای نسخه

اگر محتویات composer.jsonفایل خود را چک کنید ، می بینید چیزی شبیه به این است:

cat composer.json
Output
{
“require”: {
“cocur/slugify”: “^2.1”
}
}

شما ممکن است ^قبل از شماره نسخه در خصوص شخصیت خاص متوجه شوید composer.json. composer از چندین محدودیت و فرمت مختلف برای تعریف نسخه بسته مورد نیاز برای ارائه انعطاف پذیری در حالی که حفظ پروژه شما پایدار است پشتیبانی می کند. ^اپراتور caret ( ) که توسط composer.jsonفایل تولید خودکار استفاده می شود، اپراتور توصیه شده برای حداکثر قابلیت همکاری، پس از نسخه بندی معناست . در این مورد، آن را 2.1 به عنوان حداقل سازگار نسخه تعریف می کند ، و اجازه می دهد تا به روز رسانی هر نسخه آینده در زیر 3.0 .

به طور کلی، شما نیازی به محدودیت نسخه در composer.jsonفایل خود ندارید . با این حال، ممکن است بعضی از شرایط شما را مجبور کنید محدودیتهای خود را ویرایش کنید – مثلا زمانی که نسخه جدیدی از کتابخانه مورد نیاز شما منتشر شد و شما می خواهید ارتقا دهید یا زمانی که کتابخانه ای که می خواهید استفاده کنید از نسخه های معنایی پیروی نمی کند.

در اینجا چند نمونه برای به دست آوردن اطلاعاتی در مورد چگونگی کارکرد محدودیتهای نسخه کامپوزیتی ارائه شده است:

محدودیت معنای مثالهای نسخه مجاز است

^ 1.0 > = 1.0 <2.0 1.0، 1.2.3، 1.9.9
^ 1.1.0 > = 1.1.0 <2.0 1.1.0، 1.5.6، 1.9.9
~ 1.0 > = 1.0 <2.0.0 1.0، 1.4.1، 9.9.9
~ 1.0.0 > = 1.0.0 <1.1 1.0.0، 1.0.4، 1.0.9
1.2.1 1.2.1 1.2.1
1. * > = 1.0 <2.0 1.0.0، 1.4.5، 1.9.9
1.2. * > = 1.2 <1.3 1.2.0، 1.2.3، 1.2.9
برای مشاهده دقیق تر از محدودیت نسخه کامپوزر، مستندات رسمی را بخوانید .

مرحله 4 – شامل اسکریپت Autoload

از آنجا که پی اچ پی خود را به طور خودکار بارگذاری کلاس ها را انجام نمی دهد، کامپوزر همچنین یک اسکریپت autoload را فراهم می کند که می توانید در پروژه خود برای دریافت آزاد کننده اتوکد به صورت رایگان استفاده کنید. این باعث می شود تا با وابستگی هایتان کار کنید و فضاهای نام خانوادگی خود را تعریف کنید.

تنها چیزی که باید انجام دهید این است که vendor/autoload.phpفایل را در اسکریپت های PHP خود قبل از هر گونه اشکال در کلاس قرار دهید.

بیایید به برنامه مثال slugtify برسیم . ما nanoبرای ایجاد یک test.phpاسکریپت که از کتابخانه cocur / slugtify استفاده می کنیم استفاده می کنیم :

nano test.php
test.php
<?php
require __DIR__ . ‘/vendor/autoload.php’;

use Cocur\Slugify\Slugify;

$slugify = new Slugify();

echo $slugify->slugify(‘Hello World, this is a long sentence and I need to make a slug from it!’);
شما می توانید اسکریپت را در خط فرمان اجرا کنید:

php test.php
این باید خروجی تولید کند hello-world-this-is-a-long-sentence-and-i-need-to-make-a-slug-from-it.

مرحله 5 – به روز رسانی وابستگی های پروژه

هر زمان که بخواهید وابستگی های پروژه خود را به روز کنید، فقط باید updateدستور را اجرا کنید :

composer update

این برای نسخه های جدیدتری از کتابخانه های مورد نیاز شما در پروژه شما را بررسی می کند. اگر یک نسخه جدیدتر یافت شده و سازگار با محدودیت نسخه تعریف شده در composer.jsonفایل باشد، نسخه قبلی نصب شده جایگزین خواهد شد. composer.lockفایل به روز خواهد شد به انعکاس این تغییرات.

شما همچنین می توانید یک یا چند کتابخانه خاص را با اجرای برنامه به روز کنید:

composer update vendor/package vendor2/package2

نتیجه

این آموزش ضروریات را برای شروع کار با Composer در اوبونتو 16.04 پوشش داد. Composer یک ابزار قدرتمند است که هر برنامه توسعه دهنده PHP باید در کمربند ابزار خود داشته باشد.

فراتر از ارائه راه آسان و قابل اعتماد برای مدیریت وابستگی های پروژه، آن را نیز ایجاد یک استاندارد جدید واقعی برای به اشتراک گذاری و کشف بسته های PHP ایجاد شده توسط جامعه است.

سایر موضوعات مشابه »

این صفحه چطور بود؟ post