فرعوني
جاري التحميل...

الشروع في العمل

Has Files

# لماذا Has Files؟

Has-Files هي حزمة تقدم طريقة سهلة وسريعة لربط الملفات بالـ model في Laravel.

هذه الحزمة تعتمد على Uploader.

# التنصيب

قم بتنصيب اخر اصدار بواسطة Composer.

1composer require pharaonic/laravel-has-files
2php artisan migrate

# طريقة الاستخدام

عملية رفع الملفات ستصبح أسهل شئ يمكنك التفكير فيه, فالآن يمكنك حفظ واسترجاع وتحديث وحذف الملفات بكل سهولة.

# التضمين

يجب عليك تضمين HasFiles trait في الـ model الخاص بك اولاً.
اختياري : يمكنك تخصيص خيارات عملية الرفع من خلال Uploader.

1namespace App\Models;
2 
3use Illuminate\Database\Eloquent\Model;
4use Pharaonic\Laravel\Files\HasFiles;
5 
6class Person extends Model
7{
8 use HasFiles;
9 
10 protected $filesAttributes = ['passport'];
11 
12 protected $filesOptions = [ ...
13 'passport' => [
14 'directory' => '/papers/passports',
15 'thumbnail' => [
16 'ratio' => true,
17 'width' => 350,
18 'height' => null
19 ]
20 ],
21 ];
22}

# حفظ الملفات

هكذا يمكنك حفظ الملفات في الـ model, و يمكنك اتمام عملية الحفظ من خلال الإنشاء أو تبديل الملف بملف جديد.

1// On Create
2$person = Person::create([
3 'passport' => $request->passport
4]);
5 
6// Replace File
7$person->passport = $request->passport;
8$person->save();

# استرجاع الملفات

يمكنك استرجاع الملفات بسهوله أو حتى الصور المصغرة الخاصة بتلك الملفات أيضاً.

1echo $person->passport->url;
2echo $person->passport->thumbnail->url;

# حذف الملفات

يمكنك حذف ملف واحد أو كل الملفات أو الـ model والملفات أيضاً.

1// Delete Single File
2$person->passport->delete();
3 
4// Delete All Files
5$person->clearFiles();
6 
7// Delete Model With It's Files too
8$person->delete();

# نشر migrations

يمكنك نشر migrations.

1php artisan vendor:publish --tag=laravel-has-files