<div align="right" dir="rtl">

<p align="center" dir="rtl">بسم الله الرحمن الرحیم</p>

# فت فری (Fat-Free)

فریم‌ورک فت فری هم یک میکرو فریم‌ورک PHP است. این فریم‌ورک بین ویژگی‌های کاربرد، استفاده آسان، سادگی و سرعت تعادل برقرار می‌کند. فت فری در سال 2009 معرفی شده است.

پایگاه کد این فریم‌ورک حدود 65 کیلو بایت است و به همین دلیل سرعت بالایی دارد. شما می‌توانید در صورت نیاز آن را با افزونه‌هایی که می‌خواهید گسترش دهید.

فریم ورک پی اچ پی فت فری
## ویژگی های مهم فت فری

* مدولار است.
* مستندات بسیار واضح و ساده‌ای دارد.

 
## مزایای فت فری

* سرعت بالایی دارد.
* یادگیری آن آسان است.

 
## معایب فت فری

* به دلیل آن که میکرو فریم‌ورک است امکان توسعه فول استک ندارد.

## معرفی سایت اصلی فت فری
[سایت اصلی fatfree](https://fatfreeframework.com/3.8/user-guide)

## آموزش نصب و راه اندازی فریم ورک فت فری

در این پست با نحوه نصب فریم ورک fat-free بر روی سیستم عامل لینوکس ابونتو و ویندوز اشنا خواهیم شد.

ما ساختار معماری 3 لایه یا همون mvc رو در این فریم ورک پیاده سازی خواهیم کرد برای نصب fatfree موارد زیر را باید انجام دهیم

* نصب برنامه git و Composer
* دانلود fatfree
* پیاده سازی فریم ورک

کاربران ویندوز هم می توانند با کلیک روی لینک های بالا وارد سایت مورد نظر بشن و فایل نصب git و composer رو دانلود و به راحتی نصب کنند بقیه مراحل در هر دو سیستم عامل یکسان است

برای نصب git کد زیر را در ترمینال اجرا کنید

<div align="left" dir="ltr">

```r

sudo apt-get install git

```

</div>

برای نصب Composer

<div align="left" dir="ltr">

```r
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
```

</div>

بعد از نصب برنامه های بالا فریم ورک fat-free رو از لینک زیر دریافت کنید

[دانلود fatfree framework](https://github.com/bcosca/fatfree/archive/master.zip)

بعد از دانلود فایل را در فولدر مناسبی از حالت فشرده خارج کنید. وارد فولدر fatfree-master شوید و روی پنجره فولدر راست کلیک کنید و open Terminal رو بزنید حالا کد زیر رو با حالت ادمین در ترمینال اجرا کنید و منتظر بمونید تا نصب کامل بشه ممکنه کمی زمان بر باشه

کاربران ویندوز در cmd باید دستور زیرو وارد کنند

<div align="left" dir="ltr">

```r
composer install
```

</div>

در صورتی که نصب درست انجام شده باشه یک فولدر به نام vendor به فولدر پروژه ما اضافه شده است اگر روی سیستم شما سرور مجازی نصب باشد می توانید در مرورگر خود نتیجه را مشاهده کنید

<div align="left" dir="ltr">

```r
http://localhost/sample/fatfree-master/
```

</div>

حالا میخواهیم پروژه خود را به صورت MVC ساختار دهی کنیم فولدری به نام app بسازید حال به درون فولدر app رفته و 3 فولدر به نام های controllers و file و views بسازید

حالا به ریشه اصلی پروژه یعنی همان فولدر fatfree-master می رویم درون این فولدر فایل index.php را باز کنید کد های درون ان را به کلی پاک کنید و کدهای زیر را درون آن قرار دهید و ذخیره کنید

<div align="left" dir="ltr">

```r

<?php

require_once("vendor/autoload.php");

$f3 = Base::instance();

$f3->config('config.ini');
$f3->config('routes.ini');

$f3->run();

```

</div>

حالا فایلی به اسم routes.ini بسازید و کد زیر را داخل آن ذخیره کنید .

<div align="left" dir="ltr">

```r
[routes]

;base routes
GET /=MainController->main
GET /hello=MainController->showHello
```

</div>

باز فایلی به نامconfig.ini بسازید و کد های زیر را درون آن ذخیره کنید

<div align="left" dir="ltr">

```r
[globals]

DEBUG=3
UI=app/views/
AUTOLOAD=app/controllers/
```

</div>

حال به فولدرcontrollers که ساخته بودیم میریم (app/controllers) و درون آن فایلی به نام MainController.php می سازیم و کد زیر را درون ان ذخیره میکنیم

<div align="left" dir="ltr">

```r
<?php

class MainController {

    function showHello(){
        echo 'Hello https://beta.hamfahmi.ir/dashboard/view :)';
    }
    function main(){
         echo 'OK';
    }

}

```

</div>

خیلی خب کار تمام است حالا با مرورگر خود به مسیر پروژه برید پیام OK برای شما نشان داده می شود (http://localhost/sample/fatfree-master)

حال اگر جلوی ادرس کلمه hello را وارد کنید به این صورت :

<div align="left" dir="ltr">

```r
http://localhost/sample/fatfree-master/hello
```

</div>

پیام زیر رو به شما نشون میده

<div align="left" dir="ltr">
<p style="background-color:black;color:white" >
Hello https://beta.hamfahmi.ir/dashboard/view :
</p>
</div>


[منبع](http://takacsmark.com/fat-free-php-framework-tutorial-3-mvc-project-structure/)

<p align="center" dir="rtl">صلوات</p>

</div>