<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Reza Karimi</title>
        <link>https://virgool.io/feed/@helmadev</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-15 07:53:02</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/911888/avatar/QOYuCY.jpeg?height=120&amp;width=120</url>
            <title>Reza Karimi</title>
            <link>https://virgool.io/@helmadev</link>
        </image>

                    <item>
                <title>WHMCS چیست؟</title>
                <link>https://virgool.io/@helmadev/whmcs-%DA%86%DB%8C%D8%B3%D8%AA-xtjzn3wuf09s</link>
                <description>WHMCS چیست؟اسکریپت WHMCS یا Web Hosting Management Complete Solution یک پلتفرم مالی و اتوماسیون کامل برای شرکت های هاستینگ است. این سیستم قدرتمند، تمامی مواردی را که برای مدیریت سرویس ها و کاربران نیاز است برای شرکت های هاستینگ فراهم میکند. Matt Pugh مدیرعامل مجموعه WHMCS در توضیح این محصول می گوید:رسالت و هدف ما در WHMCS این است که مجموعه عملیات های موجود در شرکت های هاستینگ را ساده و خودکار نماییم. این محصول این امکان را برای شما فراهم خواهد کرد کسب و کار خود را به راحتی مدیریت کرده و کارایی خدمات خود را افزایش دهید.لازم به ذکر است برای استفاده از WHMCS می بایست لایسنس تهیه نمایید. قیمت های ارائه شده برای WHMCS بشرح زیر است:پلن Plus به قیمت 18.95 دلار – محدودیت 250 کاربر – بدون لینک برند whmcsپلن Professional به قیمت 24.95 دلار – محدودیت 1000 کاربر – بدون لینک برند whmcsپلن Business به قیمت 39.95 دلار – بدون محدودیت کاربر – بدون لینک برند whmcsپلن Starter به قیمت 15.95 دلار – محدودیت 250 کاربر – به همراه لینک برند whmcsاتوماسیون WHMCS قابلیت توسعه پذیری بواسطه ماژول، API ، Hooks ، زبان ، قالب و عملیات احراز را دارا می باشد. نحوه توسعه قابلیت های این اتوماسیون را می توانید در این لینک مشاهده نمایید.قابلیت های شاخص WHMCSاین سیستم بی نظیر قابلیت های بسیاری دارد که از میان آنها به چند مورد شاخص اشاره شده است:اسکریپت WHMCS یک اتوماسیون کامل و تمام عیار برای شرکت های هاستینگ است.امکان ثبت نام، تیکت، پرداخت، ثبت سفارش، تمدید، ارتقا و … همگی در whmcs قابل انجام است.سطح مدیریتی whmcs امکانات بسیار زیاد و فوق العاده ای دارد که امکان توسعه دهی را نیز دارد.قالب و امکانات اضافه whmcs به خوبی قابل تغییر، بهبود و اضافه شدن را دارد.بسیاری از درخواست ها و اقدامات کاربر بصورت خودکار انجام می شود.امکان ثبت رجیسترارها و انواع کنترل پنل ها در whmcs برای عملکرد خودکار وجود دارد.اتوامسیون whmcs زبان فارسی را پشتیبانی می کند.و ده ها مورد دیگر …تصاویر ناحیه کاربری و مدیریتی WHMCSدموی ناحیه مشتریمدیریت و توضیحات محصول در ناحیه مشتریناحیه ادمیننصب و پیکربندی WHMCSآموزش نصب whmcs و همچنین پیکربندی آن در قالب آموزش اختصاصی به شما ارائه خواهد شد. اما چیزی که نیاز است بدانید این است که به هیچ عنوان از whmcs نال شده و غیر قانونی استفاده نکنید. زیرا چنین کاری مستقیما امنیت سیستم شما و کاربران را تحت تاثیر قرار خواهد داد. لایسنس whmcs را می توانید بصورت مستقیم یا غیر مستقیم تهیه نمایید که پس از خرید آن، بسته نصبی در اختیار شما قرار خواهد گرفت. به محض آماده شدن آموزش نصب whmcs و همچنین آموزش تنظیمات whmcs ، لینک مطالب را در اینجا قرار خواهیم داد تا از آنها استفاده نمایید.امنیت WHMCSبا توجه به حساسیت و اهمیت WHMCS در کسب و کارهای هاستینگ، پشتیبانی بسیار خوبی از این اتوماسیون به عمل می آید. مجددا متذکر می شویم که حتما از نسخه قانونی و لایسنس دار WHMCS استفاده نمایید تا امنیت سایت و کسب و کارتان به خطر نیافتد. علاوه بر این کار می بایست یکسری اقدام جهت تامین امنیت whmcs انجام دهید.نتیجه گیری و جمع بندیاتوماسیون whmcs در کسب و کارهای دیگری غیر از هاستینگ نیز قابل استفاده است. در واقع هر جایی که نیاز به مدیریت کاربران بصورت سیستم صدور، یادآوری، انسداد سرویس و مانند آنها باشد از whmcs می توان استفاده کرد. اگر قصد راه اندازی شرکت و مجموعه هاستینگ را دارید و به دنبال یک سیستم اتوماسیون عالی می گردید بدون شک WHMCS تنها ابزار آماده و کامل در حال حاضر برای اینکار است.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sun, 24 Apr 2022 13:33:14 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش برنامه نویسی ماژول برای WHMCS - مقدماتی</title>
                <link>https://virgool.io/Rocket/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D8%A7%DA%98%D9%88%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-whmcs-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-ncczu6ul0y5d</link>
                <description>کدنویسی WHMCS به زبان PHP - برنامه نویسی ماژولارقبل از خوندن این پست حتما باید با whmcs و نحوه عملکردش آشنایی داشته باشین. آشنایی و تجربه لاراول هم مزیت حساب میشه که کارتونو جلو میندازه. خب میریم سر آموزش:معرفی متدهای ماژول نویسی WHMCSتوی این قسمت از آموزش من چندین نمونه از کدهایی که لازمه کدنویسی ماژول میباشد رو معرفی میکنم :متد config : کار این کد معرفی تنظیمات ماژول میباشدمتد activate : با استفاده از این کد ما میاییم ماژولی که کدنویسی کردیم رو با استفاده از گزینه فعال سازی از بخش تنظیمات فعال میکنیممتد deactivate : با استفاده از این کد ما میاییم ماژولی که کدنویسی کردیم رو باستفاده از گزینه غیرفعال سازی از بخش تنظیمات غیرفعال میکنیممتد output : این کد نیز مربوط به خروجی ماژول میباشد که اگر بخواییم بخش تنظیمات برای ماژول رو کدنویسی کنیم باید داخل فانکشن این تابع کدنویسی کنیم.خب تا اینجای کار فعلا با همین متدها میتونیم ماژول رو کدنویسی کنیم. پس من زیاد شلوغ نمیکنم بحث رو تا قابل درک باشه.فایل بندی پروژهاصولا برای کدنویسی یک ماژول با توجه به نوع و حجم ماژول تعداد فایل ها نیز متفاوت هست ولی بیس کدنویسی بدین صورت هست که ما ابتدا باید یک پوشه با نام معین برای ماژول خود بسازیم و سپس یک فایل با پسوند php با همان نام پوشه ایجاد کنیم تا کدنویسی رو داخلش شروع کنیم. بعنوان مثال من میخوام نام پوشه ماژول به نام HelmaModule باشه پس باید داخل این پوشه یک فایل با پسوند php با نام HelmaModule.php بسازم که داخل این فایل شروع به کدنویسی کنم. حال اگر ماژول ما دارای هوک هم هست باید یک فایل دیگر با نام Hooks.php بسازیم.شروع کدنویسیخب بریم سراغ کار اصلیمون :من کار رو از همین ابتدای کار با مثال شروع میکنم.ما میخواییم یک ماژول بنویسیم که در تنظیمات WHMCS قابل نمایش و فعال سازی باشه و دارای قسمت تنظیماتی باشه که داخل یک فیلد هست که نام ماژول رو بهش میدیم و ذخیره میکنیم. من اسم ماژول رو میزارم : hlmfield ، خب پس یک پوشه با همین نام میسازیم و داخل پوشه یک فایل با نام hlmfield.php ایجاد میکنیم.همانطور که در بالا عرض کردم با استفاده از فانکشن config کار رو شروع میکنیم تا به معرفی ماژول بپردازیم :این فانکش شامل موارد زیر میباشد :آیتم name : نام ماژولآیتم description : معرفی ماژولآیتم version : نسخه ماژولآیتم author : طراح ماژولآیتم language : زبان ماژولهمه موارد بالا داخل آرایه کدنویسی میشن که بصورت زیر میباشد :function hlmfield_config() {
    $configarray = array(
    &amp;quotname&amp;quot =&gt; &amp;quotماژول من&amp;quot,
    &amp;quotdescription&amp;quot =&gt; &amp;quotاین یک ماژول ساده میباشد. که توسط آموزش Reza Karimi در ویرگول ساخته شده است.&amp;quot,
    &amp;quotversion&amp;quot =&gt; &amp;quot1.0&amp;quot,
    &amp;quotauthor&amp;quot =&gt; &amp;quotReza Karimi&amp;quot,
    &amp;quotlanguage&amp;quot =&gt; &amp;quotPersian&amp;quot,
);
    return $configarray;
}توجه : تمام فانکشن های نوشته شده باید با نام پوشه شروع شوندخب همانطور که دیدید در مثال بالا من قسمت تنظیمات و معرفی ماژول رو کدنویسی کردم. پس کدهایی ابتدایی یک افزونه با مثال بالا شروع میشه.همانطور که عرض کردم یک ماژول طراحی میکنیم که در بخش مدیریت دارای یک فیلد میباشد که وقتی نامی در فیلد وارد میکنیم به دیتابیس رفته و ذخیره میشود. پس باید با استفاده از همین فایل اصلی و با متد activate جدول رو داخل دیتابیس بسازیم. در واقع متد activate همان کار گزینه فعال سازی پلاگین در تنظیمات را انجام میدهد.پس کدهای ما بصورت زیر میشود :
function hlmfield_activate()
{
if (!Capsule::schema()-&gt;hasTable(&amp;quothlmfield&amp;quot)) {
Capsule::schema()-&gt;create(&amp;quothlmfield&amp;quot, function ($table) {
$table-&gt;increments(&amp;quotid&amp;quot)-&gt;autoIncrement();
$table-&gt;text(&amp;quotfield&amp;quot);
});
}
}کد بالارو به ماژول اضافه میکنیم و وقتی روی فعال سازی ماژول در تنظیمات whmcs کلیک میکنیم کد بالا اجرا میشود. پس به هنگام کلیک کاربر روی گزینه جدولی با نام hlmfield در دیتابیس ساخته میشود.در مرحله بعدی ما فانکشن مربوط به غیرفعال سازی افزونه را مینویسیم که این فانکشن نیز با متد deactivate کدنویسی میشود. بدین ترتیب کد ما به صورت زیر میباشد :function hlmfield_deactivate() {
Capsule::schema()-&gt;dropIfExists(&amp;quothlmfield&amp;quot);
}در واقع ما با استفاده از فانکشن بالا هم افزونه را غیرفعال کرده و هم جدول ساخته شده در دیتابیس را حذف میکنیم.اکنون زمان آن رسیده است که خروجی افزونه خود و یا همان مدیریت افزونه را کدنویسی کنیم.جهت نمایش کدهای نوشته شده در مدیریت باید از تابع output در فانکشن طبق نمونه های بالا استفاده کنیم، بدین ترتیب :function hlmfield_output($vars) {

}بنابراین برای اینکه در مدیریت افزونه خود خروجی مشاهده کنیم باید کدهای خود را داخل فانکشن بالا بنویسیم.توجه : از آنجایی که گفته بودم افزونه ما یک افزونه ساده دارای یک فیلد برای وارد کردن نام میباشد من ادامه آموزش را طبق چیزی که تعیین کرده بودیم پیش میبرم.برای ساخت یک فیلد که بتونیم داخلش یک مقدار وارد کرده و در دیتابیس وارد کنیم ما به یک فرم html و چند خط کد php نیاز داریم.ابتدا شروع به نوشتن فرم html میکنیم، و از آنجایی که من این کد رو نوشتم بصورت آماده در اینجا قرار میدم.&lt;form action=&amp;quotaddonmodules.php?module=hlmfield&amp;quot method=&amp;quotPOST&amp;quot&gt;
    &lt;input type=&amp;quottext&amp;quot name=&amp;quothlm_field&amp;quot value=&amp;quot&amp;quot /&gt;
    &lt;input type=&amp;quotsubmit&amp;quot name=&amp;quotsubmitform_hlmfield&amp;quot value=&amp;quotذخیره&amp;quot /&gt;
&lt;/form&gt;من در فرم بالا که از نوع متد ارسالی هست اومدم یک فیلد با نوع text و یک فیلد با نوع submit نوشتم که بتونیم یک مقدار وارد و در دیتابیس ذخیره کنیم.خب حالا چون فایل ما از نوع php هست باید کدهای html بالارو داخل متد echo بنویسیم، بصورت زیر :echo &#039;
&lt;form action=&amp;quotaddonmodules.php?module=hlmfield&amp;quot method=&amp;quotPOST&amp;quot&gt;     &lt;input type=&amp;quottext&amp;quot name=&amp;quothlm_field&amp;quot value=&amp;quot&amp;quot /&gt;     &lt;input type=&amp;quotsubmit&amp;quot name=&amp;quotsubmitform_hlmfield&amp;quot value=&amp;quotذخیره&amp;quot /&gt; &lt;/form&gt;
&#039;;خب ما تا اینجای کار بخش html کار رو نوشتیم و اکنون زمان آن هست که بخش php رو بنویسیم تا مشخصات به دیتابیس ارسال و در آن جدول مربوطه ذخیره شود.توجه : من توی کار جهت تلف نشدن زمان از کدنویسی css کار خودداری کردم.خب کدهای نوشته شده تا اینجای کار بصورت زیر میباشد :&lt;?php
if (!defined(&amp;quotWHMCS&amp;quot)) {
die(&amp;quotThis file cannot be accessed directly&amp;quot);
}
use Illuminate\Database\Capsule\Manager as Capsule;

function hlmfield_config() {
$configarray = array( &amp;quotname&amp;quot =&gt; &amp;quotماژول من&amp;quot, 
&amp;quotdescription&amp;quot =&gt; &amp;quotاین یک ماژول ساده میباشد. که توسط آموزش Reza Karimi در ویرگول ساخته شده است.&amp;quot,
&amp;quotversion&amp;quot =&gt; &amp;quot1.0&amp;quot,
&amp;quotauthor&amp;quot =&gt; &amp;quotReza Karimi&amp;quot,
&amp;quotlanguage&amp;quot =&gt; &amp;quotPersian&amp;quot,
);
return $configarray;
}

function hlmfield_activate() {
if (!Capsule::schema()-&gt;hasTable(&amp;quothlmfield&amp;quot)) {
Capsule::schema()-&gt;create(&amp;quothlmfield&amp;quot, function ($table) {
$table-&gt;increments(&amp;quotid&amp;quot)-&gt;autoIncrement();
$table-&gt;text(&amp;quotfield&amp;quot);
});
}
}

function hlmfield_deactivate() {
Capsule::schema()-&gt;dropIfExists(&amp;quothlmfield&amp;quot);
}

function hlmfield_output($vars) {  
echo &#039; &lt;form action=&amp;quotaddonmodules.php?module=hlmfield&amp;quot method=&amp;quotPOST&amp;quot&gt;     &lt;input type=&amp;quottext&amp;quot name=&amp;quothlm_field&amp;quot value=&amp;quot&amp;quot /&gt;     &lt;input type=&amp;quotsubmit&amp;quot name=&amp;quotsubmitform_hlmfield&amp;quot value=&amp;quotذخیره&amp;quot /&gt; &lt;/form&gt; &#039;;
}
برای تکمیل کار ما بخش php رو مینویسیم تا مقدار وارد شده در فیلد text به دیتابیس ارسال و ذخیره شود.ابتدا باید ما یک شرط بنویسیم که درصورتی که کاربر روی گزینه ذخیره کلیک کرد مقدار فیلد به دیتابیس ارسال شود سپس کوئری مربوط به ارسال مقدار وارده به دیتابیس را بنویسیم، پس کدهای ما به شکل زیر خواهد بود :if($_REQUEST[&#039;submitform_hlmfield&#039;]){
    Capsule::table(&amp;quothlmfield&amp;quot)-&gt;insert([
&#039;field&#039; =&gt; $_REQUEST[&#039;hlm_field&#039;],
]);
}در نهایت کدهای ماژول ما تا به اینجای کار میشه :&lt;?php
if (!defined(&amp;quotWHMCS&amp;quot)) {
die(&amp;quotThis file cannot be accessed directly&amp;quot);
}
use Illuminate\Database\Capsule\Manager as Capsule;

function hlmfield_config() {
$configarray = array( &amp;quotname&amp;quot =&gt; &amp;quotماژول من&amp;quot, 
&amp;quotdescription&amp;quot =&gt; &amp;quotاین یک ماژول ساده میباشد. که توسط آموزش Reza Karimi در ویرگول ساخته شده است.&amp;quot,
&amp;quotversion&amp;quot =&gt; &amp;quot1.0&amp;quot,
&amp;quotauthor&amp;quot =&gt; &amp;quotReza Karimi&amp;quot,
&amp;quotlanguage&amp;quot =&gt; &amp;quotPersian&amp;quot,
);
return $configarray;
}

function hlmfield_activate() {
if (!Capsule::schema()-&gt;hasTable(&amp;quothlmfield&amp;quot)) {
Capsule::schema()-&gt;create(&amp;quothlmfield&amp;quot, function ($table) {
$table-&gt;increments(&amp;quotid&amp;quot)-&gt;autoIncrement();
$table-&gt;text(&amp;quotfield&amp;quot);
});
}
}

function hlmfield_deactivate() {
Capsule::schema()-&gt;dropIfExists(&amp;quothlmfield&amp;quot);
}

function hlmfield_output($vars) {  
echo &#039; &lt;form action=&amp;quotaddonmodules.php?module=hlmfield&amp;quot method=&amp;quotPOST&amp;quot&gt;     &lt;input type=&amp;quottext&amp;quot name=&amp;quothlm_field&amp;quot value=&amp;quot&amp;quot /&gt;     &lt;input type=&amp;quotsubmit&amp;quot name=&amp;quotsubmitform_hlmfield&amp;quot value=&amp;quotذخیره&amp;quot /&gt; &lt;/form&gt; &#039;;
if($_REQUEST[&#039;submitform_hlmfield&#039;]){    
 Capsule::table(&amp;quothlmfield&amp;quot)-&gt;insert([ &#039;field&#039; =&gt; $_REQUEST[&#039;hlm_field&#039;], ]); 
}
}
خب امیدوارم تا اینجای کار آشنایی با نحوه کد نویسی رو داشته باشین و یادگرفته باشید و این آموزش مختصر بدردتون خورده باشه. برای راحتی کار با دیتابیس من از کوئری منیجر استفاده کردم!موفق باشین.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sun, 24 Apr 2022 13:04:17 +0430</pubDate>
            </item>
                    <item>
                <title>استفاده از کوئری منیجر لاراول در پروژه های غیر لاراولی</title>
                <link>https://virgool.io/@helmadev/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D9%85%D9%86%DB%8C%D8%AC%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%AF%D8%B1-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-%D8%BA%DB%8C%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84%DB%8C-oavdzlfpbgvj</link>
                <description>لاراول نسخه ۹ - آخرین نسخه ارایه شده در سال ۱۴۰۱ - ۲۰۲۲سوال : چگونه کوئری منیجر لاراول رو از فریمورک جدا کنیم و در پروژه های دیگر از آن استفاده کنیم؟خواننده گرامی ، سلام ! لازم دونستم امروز به پاسخ این سوال بپردازم،برنامه نویس های PHP جهت ارتباط با دیتابیس از PDO استفاده میکنند که ما هم همین کار رو میکنیم اما در فریمورک زیبای لاراول خبری از دستورات sql نیست و دستورات با استفاده از یک کتابخانه خاص بنام کوئری بیلدر یا همان کوئری منیجر ارسال میشوند! کوئری منیجر لاراول از انواع دیتابیس ها پشتیبانی میکند و کاملا پیشرفته و قدرتمند است به همین دلیل است که افرادی که لاراول کار میکنند کلا دستورات sql را تا حدی فراموش کرده اند!!!خب قبل از این کار باید کامپوزر- Composer را نصب کنید , در مورد اینکه کامپوزر چیست و چطور نصب میشه به پست های زیر میتونین مراجعه کنین:آموزش نصب کامپوزر در ویندوز / مایکروسافتآموزش نصب کامپوزر در لینوکس / اوبونتوآموزش نصب کامپوزر در مک او اس / اپلخب تا اینجای کار با خواندن و یا آشنا بودن مقاله هایی که بالا لینک کردم میدونیم کامپوزر چیه و چطور نصب میشه و در انواع سیستم عامل ها هم گفتیم که چطور نصب کنید. توسعه دهنده های لاراول در گیت هاب پکیج های استفاده شده در لاراول رو بصورت جداگانه هم منتشر میکنن به شخصه من تا بحال به دنبال پکیج های لاراول به صورت جداگانه نبودم و با گشت و گذار زیادی تو وب این رو فهمیدم و پکیج ها رو پیدا کردم . در این لینک میتونید به مخزن گیت هاب پروژه کوئری منیجر لاراول وارد بشید این پکیج کاملا جامع هست و با هربار به روز رسانی لاراول این پکیج هم آپدیت میشه و همگام به نسخه آخر لاراول حرکت میکنه. نسخه های پیشین اون رو هم میتونید با نصب کننده کامپوزر نصب و استفاده کنید.برای نصب آخرین نسخه این پکیج در پروژه خودتون با استفاده از کامپوزر از دستور زیر میتونید استفاده کنید : $composer require illuminate/databaseتوصیه شده در صورتی که از Eloquent های لاراول هم اگر میخواید به همراه این پکیج استفاده کنین باید دستور زیر رو هم بزنید تا پکیج ایونت های لاراول هم براتون توی پروژه تون نصب بشه.composer require illuminate/eventsمن بسیار از این تجربه راضی بودم چون میتونستم در پروژه های غیر لاراولی خودم هم از چنین پکیج جامعی استفاده کنم و به راحتی با دیتابیس ارتباط برقرار کنم.جهت استفاده از این پکیج حتما یه فایل اصلی بسازید و کد های زیر رو داخلش قرار بدید:require_once(__DIR__ . &#039;/vendor/autoload.php&#039;);

use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Events\Dispatcher;
 use Illuminate\Container\Container;

$capsule = new Capsule;

$capsule-&gt;addConnection([
    &#039;driver&#039; =&gt; &#039;mysql&#039;,
    &#039;host&#039; =&gt; &#039;localhost&#039;,
    &#039;database&#039; =&gt; &#039;database&#039;,
    &#039;username&#039; =&gt; &#039;root&#039;,
    &#039;password&#039; =&gt; &#039;password&#039;,
    &#039;charset&#039; =&gt; &#039;utf8&#039;,
    &#039;collation&#039; =&gt; &#039;utf8_unicode_ci&#039;,
    &#039;prefix&#039; =&gt; &#039;&#039;,
]);
$capsule-&gt;setEventDispatcher(new Dispatcher(new Container));
$capsule-&gt;setAsGlobal();
$capsule-&gt;bootEloquent();در کد بالا نحوه اتصال به دیتابیس mysql با استفاده از این پکیج نوشته شده است. در کد بالا اطلاعات اتصال به دیتابیس را همانطور که مشخص است جایگذاری کنید. سپس با include یا require کردن این فایل در هر قسمتی از پروژه تون میتونین کاملا راحت با استفاده از این پکیج با دیتابیس ارتباط برقرار کنین و ازش استفاده کنید.سعی میکنم در آینده نحوه استفاده از این پکیج رو بصورت مختصر اینجا براتون بنویسم.هر کسی مشکلی داشت اینجا در بخش نظرات اعلام کنه پاسخش رو میدم.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sat, 23 Apr 2022 21:58:07 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش نصب کامپوزر در سیستم عامل مک</title>
                <link>https://virgool.io/@helmadev/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D8%B2%D8%B1-%D8%AF%D8%B1-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%B9%D8%A7%D9%85%D9%84-%D9%85%DA%A9-qddux6ume60p</link>
                <description>آموزش نصب تخصصی و جامع کامپوزر در سیستم عامل مک او اس / اپلنصب کامپوزر توی سیستم عامل مک به راحتی قابل انجامه. کافیه دستور زیر رو در ترمینال وارد کنید:brew install composerنصب کامپوزر در سیستم عامل مکبرای تست کامپوزر هم کافیه کلمه composer رو داخل ترمینال وارد کنید و تصویری شبیه زیر رو مشاهده کنید:تست کامپوزر در مکاگه توی نصب مشکلی داشتید کافیه همینجا توی بخش نطرات مطرح کنید تا راهنماییتون کنم.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sat, 23 Apr 2022 21:36:34 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش نصب Composer روی سیستم‌عامل لینوکسی اوبونتو</title>
                <link>https://virgool.io/@helmadev/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-composer-%D8%B1%D9%88%DB%8C-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%B9%D8%A7%D9%85%D9%84-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-c1xzcklrs7ez</link>
                <description>نحوه نصب کامپوزر در سیستم عامل لینوکسی اوبونتو بصورت کاملا فارسی و جامعکامپوزر Composer یک ابزار مدیریت وابستگی‌ها یا اصطلاحاً Dependency Management Tool برای زبان PHP است که هدف از طراحی آن سهولت بخشیدن به فرایند نصب و به‌روزرسانی وابستگی‌های پروژه‌های نوشته شده با این زبان است؛ به عبارت دیگر، کامپوزر چک می‌کند ببیند که یک پروژه چه «وابستگی‌هایی» به سایر پروژه‌ها دارد، سپس بسته به نسخهٔ مد نظر، آن‌ها را به سادگی روی سیستم توسعه‌دهنده نصب می‌کند (برای آشنایی بیشتر، به مقالهٔ کامپوزر (Composer) چیست؟ مراجعه نمایید.) در این پست، قصد داریم ببینیم که به چه شکل می‌توان ابزار کامپوزر را روی سیستم‌عامل گنو/لینوکس توزیع اوبونتو نصب کرد.نیاز به توضیح نیست که برای نصب یک پکیج روی سیستم‌عامل گنو/لینوکس، نیاز به سطح دسترسی سوپر ادمین خواهیم داشت؛ لذا برای ادامهٔ این آموزش، داشتن امکان اجرای دستور sudo ضروری است. پیش از هر چیز، می‌بایست کَش ابزار مدیریت پکیج‌های لینوکس را با دستور زیر به‌روزرسانی کنیم:$ sudo apt-get updateحال با فرض اینکه از قبل ابزار curl را روی سیستم نصب کرده‌ایم، صرفاً با استفاده از یک کامند اقدام به دانلود و نصب Composer در مسیر usr/local/bin/ می‌کنیم:$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composerبه خاطر داشته باشیم که کامند فوق ابزار کامپوزر را به گونه‌‌ای روی سیستم‌عامل گنو/لینوکس توزیع اوبونتوی شما نصب می‌کند که در سراسر سیستم در دسترس باشد. برای تست کردن صحت نصب این پکیج، به سادگی دستور زیر را در ترمینال اجرا می‌کنیم:$ composerو خروجی دستور فوق هم به صورت زیر خواهد بود:Composer version 1.2.3 2016-12-01 14:33:53این بدان معنا است که ابزار مدیریت وابستگی‌های زبان #پی‌اچ‌پی تحت عنوان Composer با موفقیت روی سیستم‌عامل شما نصب شده است و از این پس می‌توانید از آن استفاده نمایید.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sat, 23 Apr 2022 20:50:09 +0430</pubDate>
            </item>
                    <item>
                <title>کامپوزر چیست؟ آشنایی و روش کار آن</title>
                <link>https://virgool.io/Rocket/%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D8%B2%D8%B1-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D9%88-%D8%B1%D9%88%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A2%D9%86-tjymo1bdeqfv</link>
                <description>آشنایی با کامپوزر - روش کار با آن و توضیحاتی در خصوص کامپوزرزمانی که اقدام به توسعهٔ نرم‌افزار می‌کنیم، فارغ از اینکه از چه فریمورک یا زبان برنامه‌نویسی برای کدنویسی استفاده می‌نماییم، گاهی‌ اوقات نیاز به استفاده از پکیج‌ها و لایبرری‌های سایر برنامه‌نویسان داریم که به صورت اپن‌سورس عرضه شده‌اند تا بتوانیم به جای آنکه خود اقدام به نوشتن مثلاً کلاس خاصی کنیم، از کدهایی که قبلاً توسط سایر دولوپرها نوشته شده و آزمایش خود را پس داده‌اند استفاده نماییم و Composer هم ابزاری است که فرایند Dependency Management (مدیریت وابستگی‌) را برای دولوپرهای زبان برنامه‌نویسی PHP تسهیل می‌کند.کامپوزر Composer در ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان توسط Nils Adermann و Jordi Boggiano با الهام از NPM و Bundler توسعه داده شد و تاکنون استقبال بسیار خوبی از این ابزار از طرف برنامه‌نویسان زبان برنامه‌نویسی PHP صورت گرفته است. به طور خلاصه، کامپوزر یک ابزار کامندلاین است که در آن با استفاده از یکسری دستورات از پیش تعریف شده می‌توان به مدیریت منابع خارجی پرداخت.حال ممکن است این پرسش پیش بیاید که کامپوزر پکیج‌های مورد نیاز را از کجا دانلود می‌کند. در پاسخ به این پرسش، باید گفت که منبع اصلی که کامپوزر از آن استفاده می‌کند سایت Packagist است که به عنوان ریپازیتوری پیش‌فرض پروژه‌های پی‌اچ‌پی می‌باشد که دولوپرهای فریمورک‌ها و لایبرری‌های مختلف پروژه‌های خود را در آن آپلود کرده و از آن پس با استفاده از کامپوزر می‌توان به کلیهٔ پکیج‌های قرار گرفته روی این سایت دسترسی داشت.آشنایی با روش‌های نصب کامپوزر روی سیستم‌عامل‌های مختلفکامپوزر را می‌توان هم روی سیستم‌عامل ویندوز و هم روی سیستم‌عامل‌هایی که بر پایهٔ یونیکس هستند، مثل مکینتاش و گنو/لینوکس، نصب کرد. به طور کلی، دو روش مختلف برای نصب و استفاده از کامپوزر داریم که تحت عناوین Locally و Globally شناخته می‌شوند (نکته‌ای که در ارتباط با کامپوزر باید مد نظر داشته باشیم این است که این ابزار بر خلاف ابزارهایی همچون apt لینوکس، هرگز چیزی را به صورت سراسری نصب نمی‌کند بلکه پروژه-محور کار می‌کند.)نصب کامپوزر به صورت Locallyوقتی که کامپوزر را به صورت لوکال نصب کنیم، این ابزار پروژه-محور خواهد بود. به عبارت دیگر، صرفاً برای یک پروژهٔ خاص از این ابزار می‌توان استفاده کرد که به صورت یک فایل PHAR است که برای اجرای آن هم باید از دستور php composer.phar استفاده کرد (PHAR مخفف واژگان PHP Archive است که به منزلهٔ یک فرمت آرشیو برای زبان PHP است.) به طور کلی، این روش خیلی توصیه نمی‌شود چرا که دولوپر را محدود به یک پروژه‌ٔ خاص می‌کند.نصب کامپوزر به صورت Globallyدر این روش، ما می‌توانیم فایل composer.phar را در هر جایی روی سیستم خود قرار داده و چنانچه این مکان جزئی از PATH سیستم‌عامل باشد، به صورت سراسری و از داخل هر پروژه‌ای می‌توانیم به این ابزار دسترسی پیدا کنیم. نیاز به توضیح است که در سیستم‌عامل‌های مبتنی بر یونیکس مثل مک یا لینوکس، می‌توان فایل را قابل‌اجرا کرده تا در حین استفاده دیگر نیازی به تایپ کردن دستور php هم نداشته باشیم و این مسئله سرعت کار با کامپوزر را به مراتب افزایش خواهد داد.نصب کامپوزر روی سیستم‌عامل گنو/لینوکس توزیع اوبونتو بسیار ساده است و صرفاً با کامند زیر می‌توان این ابزار را روی سیستم‌عامل خود نصب کرد:$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composerهمان‌طور که در کامند فوق مشخص است، با استفاده از ابزار curl فایل اینستالر کامپوزر را از سایت رسمی این ابزار دانلود کرده سپس آن را در مسیر usr/locl/bin/ قرار می‌دهیم و نامی هم که برایش در نظر می‌گیریم composer خواهد بود. حال برای اینکه از صحت نصب اطمینان حاصل کنیم، دستور composer را در ترمینال وارد می‌کنیم:$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.4.2 2017-05-17 08:17:52

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.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about           Short information about Composer.
  archive         Create an archive of this composer package.
  browse          Opens the package&#039;s repository URL or homepage in your browser.
  clear-cache     Clears composer&#039;s internal package cache.
  clearcache      Clears composer&#039;s internal package cache.
  config          Set config options.
  create-project  Create new project from a package into given directory.
  depends         Shows which packages cause the given package to be installed.
  diagnose        Diagnoses the system to identify common errors.
  dump-autoload   Dumps the autoloader.
  dumpautoload    Dumps the autoloader.
  exec            Execute a vendored binary/script.
  global          Allows running commands in the global composer dir ($COMPOSER_HOME).
  help            Displays help for a command
  home            Opens the package&#039;s repository URL or homepage in your browser.
  info            Show information about packages.
  init            Creates a basic composer.json file in current directory.
  install         Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses        Show information about licenses of dependencies.
  list            Lists commands
  outdated        Shows a list of installed packages that have updates available, including their latest version.
  prohibits       Shows which packages prevent the given package from being installed.
  remove          Removes a package from the require or require-dev.
  require         Adds required packages to your composer.json and installs them.
  run-script      Run the scripts defined in composer.json.
  search          Search for packages.
  self-update     Updates composer.phar to the latest version.
  selfupdate      Updates composer.phar to the latest version.
  show            Show information about packages.
  status          Show a list of locally modified packages.
  suggests        Show package suggestions.
  update          Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate        Validates a composer.json and composer.lock.
  why             Shows which packages cause the given package to be installed.
  why-not         Shows which packages prevent the given package from being installed.می‌بینیم که این ابزار به درستی روی سیستم نصب شده است (لازم به ذکر است که پیش از نصب کامپوزر، از نصب PHP و ابزار cURL روی سیستم باید اطمینان حاصل کرد.)نصب کامپوزر روی ویندوزساده‌ترین راه برای نصب این ابزار روی سیستم‌عامل ویندوز، استفاده از اینستالر کامپوزر برای ویندوز است. با دانلود Composer-Setup.exe، این اینستالر آخرین ورژن کامپوزر را روی سیستم‌عامل شما نصب کرده و PATH را نیز تنظیم می‌کند و از آن پس به سادگی قادر خواهید بود تا با اجرای کامند composer از داخل هر فولدری، به استفاده از این ابزار بپردازید.آشنایی با نحوهٔ کار با کامپوزرزمانی که می‌خواهید از این ابزار استفاده کنید، صرفاً نیاز به فایلی تحت عنوان composer.json خواهید داشت که دیپندنسی‌های پروژه‌ٔ شما به علاوهٔ یکسری دیتای دیگر را شامل می‌گردد و اسکریپت داخل این فایل چیزی شبیه چیزی است که در ادامه ملاحظه می‌نمایید:{
    &amp;quotrequire&amp;quot: {
        &amp;quotmonolog/monolog&amp;quot: &amp;quot1.0.*&amp;quot
    }
}در مثال فوق، قصد داریم لایبرری monolog که برای لاگ‌گیری پروژه استفاده می‌شود را نصب کنیم. همان‌طور که در کد فوق ملاحظه می‌شود، نیازمندی‌های پروژه در کلیدی تحت عنوان require آمده است. به عبارت دیگر، با مقادیری که ذیل require قرار می‌دهیم، به کامپوزر نشان می‌دهیم که پروژهٔ ما مبتنی بر چه وابستگی‌ها، لایبرری‌ها و حتی دیگر پروژه‌ها است.در کلید require هم باید هر وابستگی را در خط مجزایی به صورت Key-Value بنویسیم. به طور مثال، در کد فوق گفته‌ایم که به لایبرری monolog/monolog نسخهٔ *.1.0 نیاز خواهیم داشت. از این پس، کامپوزر با استفاده از این داده‌ها به جستجو در ریپازیتوری‌هایی که مشخص‌ کرده باشید خواهد پرداخت (همان‌طور که در کد فوق ملاحظه می‌شود، هیچ‌گونه کلیدی مرتبط با repositories درج نشده است و در چنین شرایطی کامپوزر به صورت پیش‌فرض از سایت Packagist که پیش از این معرفی شد به عنوان ریپازیتوری دیفالت استفاده خواهد کرد. به عبارت دیگر،‌ در مثال فوق کامپوزر فرض را بر این می‌گذارد که پروژهٔ monolog/monolog در سایت Packagist قبلاً ثبت شده است.)آشنایی با Package Name در کامپوزربه طور کلی، نام پکیج‌ها از دو بخش تشکیل شده است که بخش اول مرتبط با نام شرکت یا دولوپر سازندهٔ آن است و بخش دوم هم نام خود پکیج است. در مثال فوق، از آنجا که هم نام شرکت توسعه‌دهنده و هم نام خود پکیج یکسان است، از ساختار monolog/monolog استفاده شده است (نیاز به توضیح است که معمولاً هر دو نام یکی است و نام توسعه‌دهنده صرفاً به این خاطر ذکر می‌شود که با دیگر پکیج‌ها تداخل به وجود نیاید. در واقع، این ساختار نام‌گذاری اجازه می‌دهد که دو شرکت یا دولوپر مختلف اقدام ساخت پکیج‌هایی با نام یکسان کنند. به عنوان مثال، دو دولوپر به نام‌های behzad و sahand می‌توانند پکیجی تحت عنوان todo طراحی کنند و این در حالی است که به ترتیب با نام کامل behzad/todo و sahand/todo به رسمیت شناخته خواهند شد و هرگز هم با یکدیگر تداخل نخواهند کرد.)آشنایی با Package Version در کامپوزردر مثال فوق، قصد داریم پکیجی تحت عنوان monolog/monolog با نسخهٔ *.1.0 را به پروژهٔ خود اضافه کنیم. در واقع، *.1.0 بدان معنا است که ما نیاز داریم تا نسخه‌ای از این لایبرری که می‌تواند چیزی مابین 1.0.0 تا 1.0.9 و کوچک‌تر از 1.1 باشد را دانلود کنیم.فرایند نصب پکیج با استفاده از کامپوزربه منظور نصب پکیج‌هایی که در فایل composer.json مشخص ساخته‌ایم، باید ابتدا از طریق کامندلاین وارد پوشهٔ پروژهٔ مد نظر شده سپس از دستور install استفاده نماییم:$ composer installفرض کنیم فولدر پروژهٔ مد نظر project نام دارد و داخل آن هم فایل composer.json با محتویاتی قرار داده‌ایم که در بالا بدان اشاره شد. از طریق کامندلاین وارد مسیر این فولدر شده سپس دستور فوق را اجرا می‌کنیم که در این صورت چند اتفاق رخ خواهد داد. همان‌طور که در ادامه می‌بینیم، داخل پوشهٔ project دایرکتوری و فایل‌های زیر افزوده می‌شود:vendor
composer.json
composer.lockداخل پوشهٔ vendor هم خواهیم داشت:composer
monolog
autoload.phpاگر این اولین باری است که کامند install را اجرا می‌کنیم، کامپوزر تمامی وابستگی‌هایی که در فایل composer.json لیست شده‌اند را دانلود کرده و داخل پوشه‌ای تحت عنوان vendor می‌ریزد که نام پوشهٔ پیش‌فرض لایبرری‌های به اصطلاح Third-party است مضاف بر اینکه اگر خود لایبرری monolog/monolog به وابستگی‌های دیگری برای اجرا نیاز داشته باشد، آن‌ها هم در این پوشه نصب خواهند شد.به خاطر داشته باشیم که اگر از سیستم‌های ورژن کنترلی همچون Git استفاده می‌کنیم، باید مسیر پوشهٔ vendor را داخل فایلی تحت عنوان gitignore. بیفزاییم چرا که افزودن فایل‌های لایبرری‌های قرار گرفته در این پوشه به ریپازیتوری گیت اصلاً ضرورتی نداشته و صرفاً فضا را اشغال می‌کنند و هر دولوپر دیگری که بخواهد روی پروژهٔ ما کار کند، به سادگی قادر خواهد بود تا سورس‌کدهای اختصاصی ما را از سیستم ورژن کنترل دریافت کرده و سپس با استفاده از کامپوزر، وابستگی‌های مورد نیاز را دانلود کند و پروژه را تکمیل سازد.پس از اتمام فرایند دانلود وابستگی‌ها، کاپوزر فایلی تحت عنوان composer.lock را داخل ریشهٔ پروژه ایجاد کرده و کلیهٔ داده‌های مرتبط با تمامی پکیج‌ها و نسخهٔ دقیق آن‌ها را داخل این فایل ثبت می‌کند. به عبارت دیگر، پروژه روی دقیقاً وابستگی‌های ثبتی توسط دولوپر قفل می‌گردد و به نوعی پروژه فقط و فقط با آن وابستگی‌ها کار خواهد کرد. در واقع، اگر گروهی از دولوپرهای PHP روی پروژه‌ای یکسان کار کنند، دولوپر اصلی پروژه باید فایل composer.lock را روی سیستم کنترل نسخه‌ای همچون Git بفرستند تا دیگر دولوپرها را ملزم کند تا دقیقاً با دیپندنسی‌های مد نظرش پروژه را اجرا کنند.به خاطر داشته باشیم که اگر از یک بار کامند install را اجرا کرده باشیم و یا از قبل فایل composer.lock در پروژهٔ ما وجود داشته باشد، وقتی که کامند install را اجرا می‌کنیم، کامپوزر تمامی وابستگی‌هایی که داخل فایل composer.json هستند را نصب می‌کند اما در عین حال دقیقاً نسخه‌هایی که در فایل‌ composer.lock قبلاً به ثبت رسیده‌اند را نصب خواهد کرد تا این اطمینان حاصل گردد که تمامی اعضای تیم توسعهٔ نرم‌افزار با نسخه‌ای یکسان از پکیج‌ها کار می‌کنند و اگر در ماه‌های آتی نسخه‌‌های جدید از پکیج‌ها عرضه گردد که به نوعی سازگار با پروژه‌ٔ شما نباشند، مطمئن خواهید بود که تحت هیچ عنوان پروژه به مشکل نخواهد خورد.آپدیت کردن وابستگی‌های پروژه از طریق کامپوزرهمان‌طور که پیش از این توضیح داده شد، فایل composer.lock منجر به این خواهد گشت تا نسخه‌های جدید پکیج‌ها به صورت خودکار نصب نشوند اما اگر شخصاً بخواهیم اقدام به نصب آخرین نسخه‌ از وابستگی‌های پروژه کنیم، نیاز است تا با دستور آپدیت آشنا شویم:$ composer updateکامند فوق آخرین نسخه‌ از پکیج‌های مورد نیاز پروژه که سازگار با نسخه‌های درج شده در فایل composer.json باشند را از ریپازیتوری‌های مربوطه دریافت کرده و نصب می‌کند مضاف بر اینکه فایل composer.lock را هم آپدیت کرده و نسخه‌‌های جدید دانلودی را داخل آن درج می‌کند. به یاد داشته باشیم که کامند فوق کلیهٔ وابستگی‌های یک پروژه را آپدیت می‌کند و این در حالی است که اگر بخواهیم صرفاً یک پکیج به خصوص را آپدیت کنیم، حتماً باید نام پکیج یا لایبرری را به عنوان آپشن کامند فوق در نظر بگیریم:$ composer update monolog/monologهمان‌طور که در کامند فوق ملاحظه می‌شود، از این طریق دستور داده‌ایم که فقط و فقط پکیجی تحت عنوان monolog/monolog آپدیت شده و سایر پکیج‌های داخل پوشهٔ vendor، البته در صورتی که پکیج دیگری وجود داشته باشد، دست‌نخوره باقی بمانند.آشنایی با مفهوم Autoloadingبرای لایبرری‌هایی همچون monolog، همان‌طور که در بالا مشاهده شد، کامپوزر در داخل پوشهٔ vendor فایلی تحت عنوان autoload.php ایجاد می‌کند و این در حالی است که به سادگی قادر خواهیم بود تا این فایل را هر کجا که تمایل به استفاده داشتیم اصطلاحاً require کرده و از آن پس از کلیهٔ کلاس‌های این لایببری در سایر فایل‌ها استفاده نماییم:require __DIR__ . &#039;/vendor/autoload.php&#039;;

$log = new Monolog\Logger(&#039;name&#039;);
$log-&gt;pushHandler(new Monolog\Handler\StreamHandler(&#039;app.log&#039;, Monolog\Logger::WARNING));
$log-&gt;addWarning(&#039;Foo&#039;);به طور کلی،‌ کامپوزر ابزاری است که دولوپرهای حرفه‌ای PHP باید به آن مسلط باشند چرا که پس از آشنایی با نحوهٔ مدیریت وابستگی‌های یک پروژه با این ابزار، سرعت کار ایشان به مراتب بالاتر خواهد رفت.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sat, 23 Apr 2022 20:43:36 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش نصب کامپوزر - Composer در ویندوز</title>
                <link>https://virgool.io/@helmadev/composer-install-in-windows-f1yoomibyynk</link>
                <description>آموزش نصب کامپوزر در ویندوز - انواع نسخه های ویندوز - آموزش کاملا جامعمقدمه بسیاری از برنامه‌نویسان با مشارکت در تولید کدهای قابل استفاده برای دیگران تلاش می‌کنند زمان لازم برای تولید نرم‌افزارهای بزرگ و قابل اطمینان را کاهش دهند.کتابخانه‌های تولید شده توسط صدها هزار برنامه‌نویس در سرتاسر وب اغلب در سایت Github به آسانی قابل دسترسی است و برنامه‌نویسان برای تولید نرم‌افزارهای جدید از این مجموعه‌ی بزرگ در جهت کاهش زمان و افزایش کیفیت تولید نرم‌افزار کمک می‌گیرند.این کتابخانه‌ها ممکن است شامل نواقص امنیتی یا کارایی باشند که در طول زمان با مشارکت همگانی بهبود می‌یابند. به همین دلیل لازم است تا به صورت مستمر به‌روزرسانی شوند.در هنگام برنامه‌نویسی یک پروژه‌ی تحت وب با زبان PHP نیز ممکن است بخواهید از چندین کتابخانه‌ی تولید شده توسط برنامه‌نویسان دیگر استفاده کنید. بررسی به‌روزشدن این کتابخانه‌ها و همچنین نصب کتابخانه‌های دیگری که هر بسته ممکن است به آن وابسته باشد، کاری زمان‌بر و دشوار است.نرم‌افزار Composer برای رفع این مشکل ایجاد شده است. با استفاده از کامپوزر می‌توانید به آسانی همیشه آخرین نگارش کتابخانه‌های مختلف را در پروژه‌ی خود در اختیار داشته باشید و برای استفاده از آن‌ها نیز همچنان کامپوزر در کنار شما خواهد بود.نصب کامپوزردر این نوشته مراحل لازم برای نصب نرم‌افزار کامپوزر را مرور خواهیم نمود.۱ – دانلود Composerبرای دانلود به وبسایت رسمی این برنامه به نشانی getcomposer.org مراجعه کنید.برای دانلود آخرین نگارش این برنامه برای سیستم عامل ویندوز اینجا کلیک کنید.۲- شروع نصب Composerفایل دانلود شده( Composer-Setup.exe ) را اجرا کنید و مراحل را مانند تصاویر زیر دنبال کنید.در این مرحله می‌بایست نشانی فایل اجرایی php را برای نصب Composer مشخص نمایید. اگر نرم‌افزار نصب نتواند به صورت خودکار این فایل را شناسایی کند، لازم است تا با زدن دکمه‌ی Browse این مرحله را به صورت دستی پیش ببرید.کامپوزر برای دریافت بسته‌ها نیازمند اتصال به اینترنت است، اگر برای اتصال به اینترنت، استفاده از پراکسی الزامی است، این بخش را با اطلاعات لازم پر کنید.فعال کردن OpenSSLبا توجه به اینکه اتصال Composer به اینترنت از طریق پروتکل امن https به انجام می‌رسد، لازم است پیش از شروع به نصب، فایل php.ini واقع شده در کنار فایل اجرایی php.exe را ویرایش کنید و بررسی کنید که در ابتدای خط extension=php_openssl.dll نقطه ویرگول قرار نگرفته باشد. اگر علامت نقطه‌ویرگول در ابتدای این خط موجود است، آن را حذف کنید و فایل را ذخیره نمایید.در این مرحله کامپوزر به شما اطلاع می‌دهد که تغییرات لازم در سیستم شما به انجام رسیده است و برای فعال‌سازی کامل آن می‌بایست پنجره‌های Command Prompt موجود را ببندید و مجددا باز نمایید.اکنون با زدن کلید Finish نصب کامپوزر را به پایان برسانید.خطای GitHub OAuth token در هنگام استفاده از Composerیکی از خطاها که ممکن است در هنگام استفاده از Composer با آن مواجه شوید خطای زیر است:Could not fetch https://api.github.com/repos/…, please review your configured GitHub OAuth token or enter a new one to access private repos.این خطا به دلیل خصوصی بودن برخی از از مخزن‌های کد مورد استفاد‌ه در پروژه است و برای اینکه بتوانید این‌گونه بسته‌ها را دانلود کنید، Composer از شما توکن OAuth را درخواست می‌کند.برای ساخت توکن ابتدا باید در Github ثبت نام کرده باشید و ایمیل شما تایید شده باشد. سپس مراحل زیر را دنبال کنید و یک توکن ایجاد نمایید:در گوشه‌ی سمت راست صفحه روی تصویر پروفایل‌تان کلیک کنید و گزینه‌ی Settings را انتخاب کنید.در صفحه‌ی تنظیمات در نوار کناری روی Developer settings کلیک کنید.در نوار کناری روی گزینه‌ی Personal access tokens کلیک کنید.در صفحه‌ی بعدی روی دکمه‌ی Generate new token کلیک کنید.نام دلخواه برای توکن وارد کنید. مثلا Composerدر فهرست دسترسی‌های موجود فقط گزینه‌ی «read:packages» را فعال کنید.روی دکمه‌ی Generate token کلیک کنید.اکنون توکن شما ایجاد می‌شود و با استفاده از آن می‌توانید بسته‌های موجود در گیت‌هاب را با استفاده از Composer دانلود کنید. این توکن فقط یک بار به شما نمایش داده می‌شود و اگر آن را گم کنید، امکان بازیابی آن وجود ندارد و مجددا همین مراحل را باید تکرار کنید.توکن ایجاد شده را کپی کنید و با کلیک راست آن را در اختیار Composer قرار دهید تا به صورت خودکار در فایل Composer\auth.json جاگذاری شود.استفاده از کامپوزربرای استفاده از کامپوزر، می‌توانید به محیط Command Prompt مراجعه کنید و پس از یافتن شاخه‌ای که فایل composer.json در آن قرار دارد، دستور composer update یا composer install را اجرا نمایید.همچنین برای به‌روزرسانی کامپوزر، از خط فرمان، دستور composer self-update را اجرا نمایید.</description>
                <category>Reza Karimi</category>
                <author>Reza Karimi</author>
                <pubDate>Sat, 23 Apr 2022 20:04:57 +0430</pubDate>
            </item>
            </channel>
</rss>