رفتن به مطلب
انجمن پشتیبانی لاراول ایران

راهبران


Popular Content

Showing content with the highest reputation since 13/09/1 در تمام بخش ها

  1. 2 points
    ۱ - با وب میل سی پنل ببینید میتونید ایمیلی ارسال کنید یا نه . ۲ - تنظیمات فایروال سرور و چک کنید پورت های 465 و 443 و 587 مسدود نباشه ۳ - تو ترمینال سی پنل یا ssh دستور زیر را بزنید ببینید چی پاسخ بر میگردونه و متصل میشه یا نه ping smtp.gmail.com curl -v smtps://smtp.gmail.com:465 telnet smtp.gmail.com 587 openssl s_client -connect smtp.gmail.com:465 4 - روی سرویس های سی پنل باید اس اس ال فعال باشه مثل : Exim (SMTP) Server Dovecot Mail Server اگر سرور اختصاصی دارید باید تنظیمات مربوط به اس اس ال این سرویس ها را چک کنید . اگر هاست اشتراکی دارید به مدیر سرور بگید چک کنن .
  2. 2 points
    در این جلسه از آموزش روش آپلود پروژه ی لاراولی را روی هاست آموزش میدهیم و تنظیمات لازم برای اجرای پروژه در هاست انجام میشود.برای تهیه هاست لاراول مناسب پروژه های لاراولی میتوانید از سایت مدیرهاست اقدام به تهیه هاست نمایید .h_iframe-aparat_embed_frame{position:relative;}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto;}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;} مدرس ابوالفضل طالبی جلسه ی 39 زمان: 13 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_39.7z
  3. 2 points
    در این جلسه بخش مدیریت دسته بندی ها ایجاد میشود و موارد زیر آموزش داده میشود روش دریافت و ارسال یک مقدار از route به درون یک متد در controller روش ساخت route های مربوط به نمایش اطلاعات یک دسته بندی (مرتبط با متد show) روش ساخت route مربوط به فرم دسته بندی جدید (مرتبط با متد create و store) روش ساخت route مربوط به ویرایش یک دسته بندی (مرتبط با متد edit و update) روش ساخت route مربوط به حذف یک دسته بندی (مرتبط با متد destroy) نام گذاری route ها با استفاده از متد name و کاربرد روش نامگذاری route ها مدرس ابوالفضل طالبی جلسه ی 10 زمان: 31 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_10.7z
  4. 1 point
    دوستان گرامی آموزش لاراول 11 به صورت رایگان در سایت الف یار منتشر شد . دوستانی که مایل به یادگیری این دوره ی آموزشی هستند میتوانند روی لینک یا تصویر زیر کلیک نمایند و وارد دوره ی آموزشی فوق شوند: همچنین آموزش لاراول 6 نیز که قبلا منتشر شده بود در لینک زیر در دسترس میباشد:
  5. 1 point
    سلام داخل فایل php.ini کامنت اکستنشن pdo رو بردارین ;extension=php_pdo_mysql.dll
  6. 1 point
    لینک زیر رو چک کنید https://stackoverflow.com/questions/28956911/how-can-i-access-my-laravel-app-from-another-pc
  7. 1 point
    اینقسمت باید id شهری رو که انتخاب شده از طریق جیکوئری دریافت کنید و با نام city به کنترلر ارسال کنید چون توی کنترلر دیدم با نام city دریافت میکنید به شکل زیر function manage_region_status(status) { let city = $('#city_input_id_add_here').val(); $.ajax({ type:'POST', url:"{{ route('your route name') }}" data: { "_token": "{{ csrf_token() }}", status: status, city: city }, }); } توی کنترلر یه فیلد با مقدار all هم دیدم دریافت میکنید اون رو هم باید مقدارش رو از فرم بگیرید و توی ایجکس ارسال کنید
  8. 1 point
    برای این موضوع میتونید یه بخش تنظیمات توی پنل ادمین داشته باشید و بخشهایی رو که میخواید قابل فیلتر باشن از اونجا مشخص کنید و هر زمانی خواستید یه بخشی رو فعال یا غیرفعال کنید
  9. 1 point
    چون همه مناطق شما در یه وضعیت هستن و فعال یا غیرفعال هستن توی کنترلر که در متد fetchRegion مناطق رو دریافت میکنید status رو اونجا چک کنید و توی response که برگشت میدید یه فیلد با اسم status قرار بدید و مقدارش رو برابر با وضعیت مناطق دریافتی قرار بدید بعدشم که در بخش جیکوئری با پاسخی که ایجکس دریافت کرده دکمه ها رو مدیریت کنید. مشابه کد زیر میتونید status رو پاس بدید public function fetchRegion(Request $request) { $data['regions'] = Region::where("city_id", $request->city_id)->get(); $data['status'] = $data['regions'][0]->status; // دقیقا مطابق با فیلدی که در دیتابیس هست مقدار رو دریافت کنید return response()->json($data); }
  10. 1 point
    باید از where استفاده کنید و count رو بگیرید $count = User::where('reagent_code', $user->invite_code)->count();
  11. 1 point
    با همون ستونها میتونید کار کنید یکی برای معرفی افراد جدید هست دومی هم که برای این هست که مشخص بشه کاربر توسط چه کسی معرفی شده و طبق همون ستون reagent_code باید تعداد افرادی رو که معرفی کرده پیدا کنید
  12. 1 point
    باید روابط بین جداول رو اول ایجاد کنید بعد توی کوئریها ازشون استفاده کنید کلا روشهای مختلفی میشه به نتایج رسید ولی با روابط اول باید بین شهر و منطقه و کاربران روابطی رو که دارن ایجاد کنید مثلا به شکل زیر // User model public function region() : BelongsTo { return $this->belongsTo(Region::class); } =========================== // City model public function regions() : HasMany { return $this->hasMany(Region::class); } ============================ // Region model public function users() : HasMany { return $this->hasMany(User::class); } public function city() : BelongsTo { return $this->belongsTo(City::class); } ======================== // توی کنترلر به شکل زیر $users = User::where('status', true); if ($request->has('age_difference')) { $users->where('age_difference', '=', $request->age_difference); } if ($request->has('time')) { $users->where('time', '=' , $request->time); } if ($request->has('disability')) { $users->where('disability', '=' , $request->disability); } if ($request->has('name')) { $users->where(function ($query) use ($request) { $query->whereHas('region', function ($query) use ($request) { $query->whereHas('city', function ($query) use ($request) { $query->where('name', 'like', $request->name); }); }); }); }); } dd($users->get());
  13. 1 point
    بخش نمایش دکمه ها مربوط به جیکوئری هست و ارتباطی با لاراول نداره ولی باید توی قسمتی که response مناطق رو دریافت میکنید status رو هم دریافت کنید و براساس او از متدهای show و hide توی جیکوئری میتونید استفاده کنید مثلا دو تا دکمه دارید که پیشفرض مخفی هستن و نمایش داده نمیشن وقتی response مناطق رو دریافت کردید اگه از قبل فعال بودن دکمه غیرفعال رو نمایش میدید یه چیزی شبیه کد زیر: <button type="submit" style="display: none" id="enable_region" onclick="manage_region_status(1)">فعال</button> <button type="submit" style="display: none" id="disable_region" onclick="manage_region_status(0)">غیرفعال</button> <script> $('#city-dropdown').on('change', function () { var idCity = this.value; $("#region-dropdown").html(''); $.ajax({ url: "{{url('admin/locations/fetch-regions')}}", type: "POST", data: { city_id: idCity, _token: '{{csrf_token()}}' }, dataType: 'json', success: function (res) { $('#region-dropdown').html('<option value="all">تمام مناطق</option>'); // اینجا وضعیت رو چک میکنید و براساس اون دکمه مورد نظر رو نمایش میدید if(res.status) { $('#enable_region').hide(); $('#disable_region').show(); }else{ $('#enable_region').show(); $('#disable_region').hide(); } } }) }) function manage_region_status(status) { // فرم رو اینجا ارسال میکنید } </script> در مورد کنترلر هم متوجه کارتون نشدم توی متد submitLocation در شرط اول مناطق رو غیرفعال کردید و در صورتی که شرط برقرار نیست با جدول کاربران sync کردید که این دو تا کار باهم همخوانی ندارن
  14. 1 point
    منظورتون این هست که خود جدول شهرها با کاربران از طریق جدول مناطق ارتباط داره؟ و جدول شهر مستقیم ارتباطی به user نداره درسته؟
  15. 1 point
    نیازی نیست فیلد جدید اضافه کنید اون رو حذفش کنید. برای اینکه چک کنید کاربر توی لیست مورد علاقه هست یا خیر اول باید لیست کاربران مورد علاقه یه نفر رو دریافت کنید بعد توی حلقه foreach که در blade کاربران رو نمایش میدید باید چک کنید شناسه کاربر جاری در لیست کاربران مورد علاقه هست یا خیر که یه کد مشابه زیر میتونید بنویسید // با این کد لیست شناسه کاربر مورد علاقه کاربری رو که لاگین کرده دریافت کنید و به بلید بفرستید $favorites = Favorite::where('user_id',auth()->user()->id)->pluck('favorite_user_id')->toArray(); // با کد زیر هم در حلقه ای که کاربران رو نمایش میدید چک کنید ببینید مورد علاقه هست یا خیر @foreach($users as $user) @if(in_array($user->id,$favorites)) // مورد علاقه هست @else // مورد علاقه نیست @endif @endforeach
  16. 1 point
    توی blade که آبجکت user رو دارید و شناسه کاربر رو توی route پاس میدید این آبجکت رو از کدوم کاربر ساختید؟ این آبجکت باید برای پروفایل کاربری باشه که دارید مشاهده میکنید مورد بعدی هم توی متدهای کنترلر که کد زیر رو نوشتید $favorite_user_id = Favorite::find($favorite); ورودی خود متد که $favorite هست شناسه همون کاربری هست که میخواید اضافه یا حذف کنید بدون نوشتن کد بالا میتونید مستقیم شناسه دریافتی رو به متد create یا delete پاس بدید ولی چون از متد get برای ساخت route استفاده کردید بهتر هست قبلش چک کنید چنین کاربری توی سایت موجود هست یا خیر اگر کاربر موجود بود ادامه کار رو انجام بدید در غیراینصورت یه پیغام خطا برگردونید که یه چیزی شبیه کد زیر میتونید بنویسید: $user = User::find($favorite); if(!$user) { // بازگشت با پیغام خطا } // اضافه شدن به لیست علاقه مندی Favorite::create([ 'user_id' => auth()->user()->id, 'favorite_user_id' => $favorite, 'added_date' => Carbon::now() ]); // حذف از لیست // اینجا قبل از حذف هم میتونید چک کنید که آیا چنین کاربری در لیست علاقه مندی از قبل هست یا خیر Favorite::where('user_id',auth()->user()->id) ->where('favorite_user_id',$favorite) ->delete();
  17. 1 point
    من یه توضیح کلی براتون مینویسم بررسی کنید و از روی اون پیاده سازی کنید. اگه فقط برای model کاربران میخواید اینکار انجام بشه ساده ترین روش این هست که یه جدول مثلا به اسم favorites بسازید با مایگریشن زیر Schema::create('favorites', function (Blueprint $table) { $table->bigIncrements('id'); $table->foreignId('user_id')->constrained()->onDelete('cascade'); $table->foreignId('favorite_user_id')->constrained('users','id')->onDelete('cascade'); $table->timestamp('added_date')->default(DB::raw('CURRENT_TIMESTAMP')); }); بعد برای اضافه کردن به لیست و حذف یه کاربر از لیست میتونید متدهای زیر رو بنویسید من اینها رو با api نوشته بودم شما میتونید بدون api هم بنویسید // add user to favorite list public function add(Request $request) { $favorite_user_id = $request->get('user_id'); // شناسه کاربری هست که کاربر لاگین شده در سایت آنرا در لیست مورد دلخواه قرار میدهد $favorite = Favorite::create([ 'user_id' => auth()->user()->id, 'favorite_user_id' => $favorite_user_id, 'added_date' => Carbon::now() ]); // return your response } // delete user from favorite list public function remove(Request $request) { $favorite_user_id = $request->get('user_id'); // شناسه کاربری که میخواهیم از لیست خود حذف کنیم Favorite::where('user_id',auth()->user()->id) ->where('favorite_user_id',$favorite_user_id) ->delete(); // return your response } ولی اگر بخواید به غیر از کاربران موارد دیگه ای رو هم به لیست دلخواه اضافه کنید اینطوری بهتر هست از روشهای دیگه ای مثل پیاده سازی با روابط polymorphic استفاده کنید.
  18. 1 point
    چون توی دیتابیس این فیلدها رو nullable گذاشتید توی شرط باید بگید اگر null نبود که میتونید از متد is_null استفاده کنید
  19. 1 point
  20. 1 point
    ممنونم. این گزینه را فعال کرده بودم ولی وقتی متن کامنت ها را مرحله به مرحله موقع نصب خوندم متوجه شدم موقع اتصال به گیت هاب مشکل ئیدا میشه. از dns استفاده کردم حل شد..
  21. 1 point
    میتونید برای عکس و فیلم هر کدومش جداگانه یه فیلد بذارید و در بخش کاربری هم هر کدومش که مقدار داشت همون رو به کاربر نمایش بدید. از mime type هم میتونید استفاده کنید ولی از فیلد جدا استفاده کنید بهتره چون ممکنه یه زمان نیاز داشته باشید که خبر هم عکس و هم ویدئو داشته باشه
  22. 1 point
    ممنونم ظاهرا یه سری دستورهای ارجاع دهی در لاراول ۹ عوض شده بود. از asset()استفاده کردم مشکل حل شد.
  23. 1 point
    تغییر رمز عبور میتونه به این شکل باشه که اول یه فرم دارید که کاربر شماره موبایل رو وارد میکنه و بعد شما یک کد تایید برای کاربر ارسال میکنید و کاربر رو به یک صفحه جدید هدایت میکنید توی این صفحه یه فرم هست که کاربر کد ارسالی توی پیامک رو به همراه رمز جدید خودش وارد میکنه و بعد از ارسال فرم باید چک کنید کدی که کاربر وارد کرده با کدی که شما براش ارسال کرده بودید یکی هست یا خیر اگر درس بود براساس رمز جدیدی که وارد کرده در جدول کاربران رمز عبور کاربر مورد نظر رو بروزرسانی میکنید.
  24. 1 point
    فیلد registered_at براساس منطق و نیاز برنامه شما میتونه مقدار timestamp یا boolean بگیره هر کدوم رو که میخواید طبق همون فیلدش رو توی دیتابیس بسازید و در نهایت بعد از تکمیل ثبت نام مقداردهی میکنید. اما در مورد آپدیت فیلدها که گفته بودید مشکل دارید همه فیلدهای شما توی دیتابیس داخل یه جدول هستن؟ یا جداول مختلفی رو میخواید آپدیت کنید؟
  25. 1 point
    اگه اینقسمت از قبل توی پروژه شما پیاده سازی شده باشه باید داکیومنتهای پروژه رو بررسی کنید ببینید به چه شکلی پیاده سازی شده ولی اگه میخواید اینو توی پروژه خودتون اضافه کنید میتونید از پکیج sanctum که داخل خود لاراول هست استفاده کنید https://laravel.com/docs/9.x/sanctum
  26. 1 point
    سلام وقت بخیر برای فعال کردن پلاگین باید این قطعه کد رو اضافه کنید. <script> $(".chosen-select").chosen() </script>
  27. 1 point
    خدا خیرت بده بالاخره درست شد
  28. 1 point
    در ویدیو چه چیزی می آموزیم: آموزش ساخت داده های ساختگی آموزش تزریق از طریق Tinker شناخت Seeder , Fake ها آشنایی با Tinker آموزش تزریق از طریق ترمینال آموزش تبدیل تاریخ از میلادی به شمسی تزریق داده های ساختگی و آشنایی با پکیج faker در گیت هاب معرفی Navicat و...
  29. 1 point
    توی مقادیر ارسالی شما مقدار phone وجود نداره و چون phone رو nullable نذاشتید خطا میده باید در کنترلهای auth به کنترلر RegisterController برید و در متد create مقدار phone رو هم دریافت و به مادل User ارسال کنید
  30. 1 point
    در این جلسه از آموزش بخش نمونه کارها که همانند یک گالری تصاویر در صفحه ی نخست میباشد را طراحی میکنیم به صورتی که بتوانیم در بخش مدیریت ، نمونه کارهای خود را همراه با تصویر ، توضیحات و لینک ثبت کنیم و سپس در بخش کاربری مانند یک گالری نمایش دهیم. ساخت بخش نمونه کارها یا Portfolio مدرس ابوالفضل طالبی جلسه ی 37 زمان: 45 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_37.7z
  31. 1 point
    ایجاد ralation های مرتبط با بخش نظرات و ارتباط آن با مطالب آموزش استفاده از تصویر امنیتی ReCaptcha برای فرم ارسال نظر و افزایش امنیت فرم ها در لاراول اعتبار سنجی تصویر امنیتی مدرس ابوالفضل طالبی جلسه ی 34 زمان: 38 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_34.7z
  32. 1 point
    افزودن ویرایشگر پیشرفته tinymce به بخش مطالب در لاارول افزودن بخش مدیریت فایلهای پیشرفته در لاراول با پکیج Laravel FileManager امکان آپلود و ویرایش تصاویر در لاراول مدرس ابوالفضل طالبی جلسه ی 28 زمان: 32 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_28.7z
  33. 1 point
    بروزرسانی وضعیت مطلب با یک کلیک ارتباط یک به چند در لاراول و نمایش نام نویسنده ی مطلب با متد belongsToMany روش سینک کردن مقادیر در جدول pivot با متد sync مدرس ابوالفضل طالبی جلسه ی 27 زمان: 31 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_27.7z
  34. 1 point
    آموزش متد مهم showLoginForm در کنترلر LoginController ساخت فرم ورود کاربران آموزش شرط if و استفاده از auth::goust در blade آموزش شرط auth endauth برای بررسی لاگین شدن کاربر در blade آموزش ساخت middleware اختصاصی برای برررسی نقش کاربران مدرس ابوالفضل طالبی جلسه ی 22 زمان: 25 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_22.7z
  35. 1 point
    لاراول میکس چیست و مزیت استفاده از laravel mix برای طراحی front نصب node js و ابزار npm نصب node_modules در پروژه ی لاراول با دستور npm install نصب laravel mix کاربرد فایل webpack.mix.js معرفی قالب مورد استفاده در بخش کاربردی در پروژه ی آموزشی معرفی قالب مورد استفاده در بخش مدیریت در پروژه ی آموزشی مدرس ابوالفضل طالبی جلسه ی 18 زمان: 23 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_18.7z
  36. 1 point
    در این جلسه از آموزش لاراول موارد زیر آموزش داده میشود آموزش ساختار middleware ها و وظایف آنها در لاراول کنترلهای مربوط به Auth در لاراول آموزش ساخت Route های مربوط به Login , Register , Logout و سایر روتهای مربوط به Auth آموزش ساخت فرم ثبت نام کاربران در لاراول کاربرد متد old در blade template جهت ذخیره موقت اطلاعات فرم ها روش تغییر redirect پس از ثبت نام کاربر به صفحه ی دلخواه مدرس ابوالفضل طالبی جلسه ی 16 زمان: 30 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_16.7z
  37. 1 point
    کار با آبجکت $errors برای نمایش تمام خطاهای مربوط به validation ترجمه خطاهای validation به زبان فارسی کار با متد with برای ساخت session و ارسال مقدار session به یک view روش catch کردن exception ها و هندل کردن خطاهای exception مدرس ابوالفضل طالبی جلسه ی 13 زمان: 23 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_13.7z
  38. 1 point
    آموزش متدهای Create و Store برای نمایش فرم ذخیره اطلاعات استفاده از csrf و ساخت توکن امنیتی برای فرم ها در لاراول آموزش include کردن در فایلهای blade مدرس ابوالفضل طالبی جلسه ی 11 زمان: 27 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_11.7z
  39. 1 point
    ساخت Model , Controller مربوط به جدول سفارش ها و آموزش مبحث Eloquent ORM و اتصال به جدول سفارش ها برای خواندن اطلاعات . در این جلسه تفاوت استفاده از Query Builder و Eloquent ORM را متوجه خواهید شد و آموزش لازم به شما ارائه میشود. مدرس ابوالفضل طالبی جلسه ی 8 زمان: 31 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_08.7z
  40. 1 point
    در این جلسه از آموزش مبحث دیتابیس و ساخت جداول با migration ها آموزش داده میشود و اهمیت استفاده از migration ها شرح داده میشود. مدرس ابوالفضل طالبی جلسه ی 5 زمان: 40 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_05.7z
  41. 1 point
    در جلسه نخست به معرفی لاراول و مفاهیم ابتدایی پرداخته میشود . در این جلسه پیش نیازها ، ابزارهای مورد نیاز و روش نصب لاراول آموزش داده میشود. مدرس ابوالفضل طالبی جلسه ی 1 زمان: 30 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_01.7z
  42. 1 point
    دوره ی جامع آموزشی برنامه نویسی php ویژه ی آن دسته از علاقه مندان به برنامه نویسی و توسعه ابزارهای تحت وب است که میخواهند با دنیای Open Source آشنا شوند.زبان برنامه نویسی محبوب جهانی php را با روش شی گرایی یاد بگیرند و از pdo برای اتصال به دیتابیس استفاده کنند. این دوره جامع را به شما که به دنبال افزایش مهارت های خود در زمینه وب هستید پیشنهاد میکنیم.با یادگیری این دوره هر پروژه ای را تحت وب به راحتی پیاده سازی خواهید کرد. برای دانلود کامل این دوره به لینک زیر مراجعه نمایید: http://www.alefyar.com/code-learning/php-oop-pdo-turorial-section1
  43. 0 points
    آموزش Relation ها در لاراول ایجاد ارتباط چند به چند ( many to many ) بین مطالب و دسته بندی ها در لاراول آموزش متد belongsToMany انتصاب چندین دسته بندی به یک مطلب فرم ایجاد مطالب مدرس ابوالفضل طالبی جلسه ی 26 زمان: 46 دقیقه پیش نیاز: PHP (دانلود آموزش PHP) برای دانلود سایر دوره های آموزشی به سایت Alefyar.com مراجعه نمایید laravel_alefyar.com_26.7z
×
×
  • جدید...