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

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

Has Images

# لماذا Has Images؟

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

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

# التنصيب

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

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

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

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

# التضمين

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

1namespace App\Models;
2 
3use Illuminate\Database\Eloquent\Model;
4use Pharaonic\Laravel\Images\HasImages;
5 
6class Article extends Model
7{
8 use HasImages;
9 
10 protected $filesOptions = [ ...
11 'images' => [
12 'directory' => '/articles/images',
13 'thumbnail' => [
14 'ratio' => true,
15 'width' => 400,
16 'height' => null
17 ]
18 ],
19 ];
20}

# حفظ الصور

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

1// On Create
2$article = Article::create([
3 'images' => [$request->file1, $request->file2, $request->file3]
4]);
5 
6// Add Image
7$article->addImage($request->file1);
8 
9// Replace All Images
10$article->images = [$request->file1, $request->file2, $request->file3];
11$article->save();

# استرجاع الصور

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

1echo $article->images[0]->url;
2echo $article->images[0]->thumbnail->url;

# حذف الصور

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

1// Delete Single Image
2$article->images[2]->delete();
3 
4// Delete All Images
5$article->clearImages();
6 
7// Delete Model With It's Images too
8$article->delete();

# نشر migrations

يمكنك نشر migrations.

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