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

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

saber

مدیرکل
  • تعداد ارسال ها

    341
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    77

پست ارسال شده توسط saber


  1. سلام

    اون ساختاری که اشاره کردید مربوط به خود php هست و میتونید از لینک زیر توی سایت خود php در موردش مطالعه کنید که کاربردش بیشتر برای namespace کلاسها هست

    https://www.php.net/manual/en/language.oop5.basic.php#language.oop5.basic.class.class

    • تشکر 1

  2. برای پیاده سازی این سیستم اول برای بخش نوتیفیکیشنها میتونید یه سرویس بنویسید و تمامی کارهای مربوط به ارسال نوتیفیکیشن رو به عهده این سرویس بذارید

    باید بسته به منطق پروژه خودتون این سرویس نوتیفیکیشن رو طراحی کنید که مثلا ارسال ایمیل یا پیامک و یا هر چیز دیگه ای داشته باشه و اگه اصولی طراحی بشه

    بعدا براحتی میشه نوع ارسالهای جدید بهش اضافه کرد مثلا اولش فقط با پیامک کار میکنه بعدا براحتی میشه بهش ایمیل اضافه کرد.

    در مورد انتقال به بخشها هم وقتی مثلا نامه ای وارد بخش اول میشه توی این بخش بررسی میشه و وقتی تایید شد مدیر این بخش باید موقعی که تایید میکنه

    بخش بعدی رو هم انتخاب میکنه و نامه بعد از تایید به بخش بعدی ارسال میشه که برای اینکار میتونید لیست تمامی بخشها رو در بخش تایید نامه ها قرار بدید

    تا مدیر مربوطه بتونه از لیست مقصد بعدی رو انتخاب کنه و یه مورد هم اینکه باید توی هر مرحله به مقصد بعدی دسترسی مشاهده نامه ها رو بذارید که همه اینها

    براحتی با کنترل دسترسی ها و تایید و تعیین بخش بعدی کامل قابل پیاده سازی هستن. موقعی هم که نامه ای رو تایید میکنید و بخش بعدی هم که انتخاب شده

    شما به اطلاعات بخش بعدی دسترسی دارید و میتونید شماره موبایل یا ایمیلش رو دریافت کنید و براش نوتیفیکیشن ارسال کنید.


  3. موقع ورود کاربر حتما یه نام کاربری داره که با اون ورود میکنه و وقتی ورود موفق انجام میشه از طریق همون نام کاربری میتونید اطلاعات کاربر رو از دیتابیس بگیرید

    و شناسه اش رو دریافت کنید و به صفحه پروفایل خودش منتقل کنید. بعد ورود اطلاعات کاربر رو هم توی سشن نگهداری کنید تا مدت زمانی که کاربر لاگین هست متوجه بشید

    و هر کار خاصی رو که به شرط لاگین بودن کاربر هست بدرستی بتونید انجام بدید


  4. برای این موارد باید خیلی چیزها رو بررسی کنید که یکی از مهمترینها توانایی شخص یا تیم برنامه نویس هست که روی چه سیستم تسلط کافی داره والا فقط با اسم یه زبان یا فریم ورک خاص

    نمیشه یه سیستم قوی و پایدار طراحی کرد که قابلیت نگهداری و توسعه خیلی خوبی داشته باشه شما اگر روی php و لاراول تخصص خیلی بالایی داشته باشید سایتهای خیلی قوی

    میتونید طراحی و توسعه بدید که در مقیاس بزرگی هم براتون کار کنه در کل توانایی های خودتون و مشخص بودن انتظاراتی که از برنامه ای که مینویسید میتونه مسیر شما رو برای

    انتخاب زبان و فریم ورک مورد نظر مشخص کنه


  5. برای این کار یکی از روشهایی که میتونید استفاده کنید روش view composer هست که توی فایل app\Providers\AppServiceProvider.php داخل متد boot میتونید

    اطلاعات مورد نظر رو به view خودتون پاس بدید و ه جایی که اون ویو رو فراخوانی میکنید به اون اطلاعات هم دسترسی داشته باشید مثلا کدی مثل کد زیر رو باید توی متد boot قرار بدید

    view()->composer('view name',function($view){
                $test = 'test';
                $view->with(['test'=>$test]);
            });

    توی کد بالا بجای view name مسیر ویو خودتون رو قرار بدید و بجای test هم مقادیری رو که میخواید در همه جا در دسترستون باشه قرار بدید

    • تشکر 1

  6. برای پیاده سازی اینطور کارها که به شکل زنجیر وار و به ترتیب باید انجام بشن بهترین کار این هست که از دیزاین پترنها استفاده کنید و مشخصا برای اینکار میتونید

    از دیزاین پترن chain of responsibility استفاده کنید و گرنه باید کلی شرطهای مختلف توی کدتون بنویسید که هم باعث شلوغی و ناخوانایی خیلی زیاد کدتون میشه 

    و هم بعدا بخواید کد رو توسعه و تغییرات بدید دردسر خیلی زیادی خواهد داشت در مورد دیزاین پترن chain of responsibility جستجو و تحقیق کنید و سعی کنید

    با این روش کدتون رو پیاده سازی کنید.

    • تشکر 1

  7. پیاده سازی لینک دعوت ربطی به لاراول یا سیستمهای دیگه نداره توی همه جا میتونید با منطقی که پروژه شما داره این امکان رو پیاده سازی کنید

    که مشخصا در لاراول هم بخوبی میشه اینو پیاده سازی کرد برای این کار اول باید برای کاربرانی که توی سایت ثبت نام میکنن برای هر کاربر یه کد معرف یونیک تولید کنید

    و در پنل هر کاربر کدش رو به همراه لینکی که تولید میکنید بهش نمایش بدید تا بتونه در جاهای مختلف طبق منطق پروژه شما استفاده کنید

    لینک رو هم به هر قسمتی از پروژه که میخواید از طریق route ایجاد کنید و توی کنترلر مورد نظر چک کنید اگه لینک ورودی دارای کد معرف بود عملیات مورد نظر خودتون رو انجام بدید.

    اگر هم میخواید موقع ثبت نام کد معرف رو چک کنید میتونید کد معرف رو به انتهای لینک ثبت نام اضافه کنید و برای ثبت نام کد رو چک کنید و هم اینکه توی فرم ثبت نام یه اینپوت برای

    کد معرف قرار بدید تا اگه کاربری کد معرف از طرف شخصی داشت توی باکس وارد کنه


  8. سیستم برای ایجاد فایل کش مسیر رو درست پیدا نمیکنه برای همین خطا میده شما در مسیر app/Providers/AppServiceProvider.php

    داخل متد boot کد زیر رو قرار بدید و تست کنید

       if (class_exists('Swift_Preferences')) {
            \Swift_Preferences::getInstance()->setTempDir(storage_path().'/tmp');
        } else {
            \Log::warning('Class Swift_Preferences does not exists');
        }

     


  9. شما وقتی اون دستور رو اجرا میکنید داخل پوشه public یه پوشه به اسم storage ساخته میشه که تصاویر داخلش قرار میگیرن

    احتمالا مشکل از نحوه فراخوانی تصاویر هست و درست فراخوانی نمیکنید برای همین نمایش نمیده

    داخل تگ img رو توی سورس صفحه ببینید که اصلا مقدار src تصاویر چطوری هست و با کدهایی که نوشتید چه مسیری تولید میشه


  10. دستورات زیر رو هم اجرا کردید؟

     php artisan route:clear
     php artisan config:clear

    با لاراول 8 هم لود میشه شما کنسول مرورگر رو هم چک کنید احیانا خطا و تداخل جیکوئری نداشته باشید و حتما جیکوئری رو هم در صفحه خودتون لود کنید


  11. باید ببینید کدهای vuejs توی کدوم فایل نوشته شده اگه از سیستمی که قبلا نوشته شده استفاده میکنید اگه استاندارد کدنویسی شده باشه

    معمولا توی تنظیمات برای تغییر این موارد تنظیمی قرار میدن اگه همچین چیزی نداره باید توی سورس کدش بگردید بیینید کدهای vue js رو

    توی چه فایلی نوشتن هر سیستمی میتونه متفاوت باشه


  12. در ساده ترین حالت باید کنترلر api بسازید و route های مربوطه رو هم در داخل فایل routes/api.php ایجاد کنید و درخواستها رو از طریق روتر به اون کنترلر ارسال کنید

    و داخل هر متدی حالا بسته به شرایطی که دارید اعتبارسنجی های لازم رو انجام بدید و اطلاعات رو که مثلا اگه از دیتابیس گرفتید به حالت json برمیگردونید

    یه نمونه خیلی ساده مثل کد زیر برای دریافت لیست کاربران

    namespace App\Http\Controllers\Api;
    
    use Illuminate\Http\Request;
    use Illuminate\Http\Response;
    
    class ApiUsersController extends Controller
    {
    
        public function usersList(Request $request)
        {
            $users = User::all();
            return response()->json(['users' => $users], Response::HTTP_OK);
        }
    }

     


  13. بستگی به منطق برنامه ای که مینویسید داره اگه با کلیک شن اون لینک مثلا یه مطلب باز میشه میتونید توی دیتابیس در یه جدولی شناسه کاربرانی که هر لینک خاص رو

    مشاهده کردن ذخیره کنید و در دفعات بعدی بررسی کنید که اگر قبلا اون لینک رو کاربر مشاهده کرده باشه اجازه مشاهده مجدد رو بهش ندید

×
×
  • جدید...