یکسان سازی نام کلاس ها

پرسیده شده
فعالیت 1005 روز پیش
دیده شده 638 بار
0

با سلام خدمت همه دانشجویان دوره

ما در این پروژه اومدیم و توسط Interface و abstract کلاس یک سری قانون تعریف کردیم که کلاس های فرزند باید از اون پیروی کنند.

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

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

JsonExporter
PdfExporter
TextExporter

ولی خب هیچ جایی این اصل تعریف نشده و سفت و سخت نیست و یک قانون ضمنی که باید رعایت بشه

فردا روزی یک برنامه نویس دیگه از نام دیگری برای کلاس استفاده کنه مثل exportToCsv  کد ما دچار اشکال میشه.

تمام اینهارو گفتم که سوال کنم ایا میشه یک قانون برای تعریف نام کلاس درون کد ها نوشت ؟

که بشه این مورد رو هم با کدنویسی هندل کرد.

با تشکر از همراهی شما عزیزان

فایل پیوست

Behnam Moradi
Behnam Moradi

26 تیر 00

0
حذف شده

سلام و احترام

میتونید برای مثال اگه نام کلاسی که داده بودن پیدا نشد یک Exception پرتاب کنید تا مجبور به رعایت نوع نام گذاری بشن، به نمونه کد زیر یه نگاه بندازید

 public function findProvider()
    {
        $class_name = "App\Http\Controllers\Admin\Prices\PriceManagement\Providers\\" . $this->requestedProvider . 'Provider';

        if(!class_exists($class_name))
            throw new ProviderDoesNotExistException('Provider does not exist');

        $provider = new $class_name;

        return $provider;
    }

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

 

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

26 تیر 00

حذف شده
سلام مجدد از پاسخ سریع و خوبتون ممنونم :)
Behnam Moradi

27 تیر 00