آیا میتوان متدهای CRUD را به عنوان یک Utility کلاس داشت؟
حل شده توسط
محسن موحد
سلام و احترام
سوالم اینکه میشه متدهای CRUD را به عنوان یک Utility کلاس داشت؟ ینی اینکه مجبور نباشی به خاطر این چهارتا عملیات اونا رو extend کنی و فقط به عنوان Utility کلاس use کنی و استفادشون کنی.
سلام.
دقیق متوجه نشدم منظورتون چیه.
ولی اگه منظورتون اینه که یک CRUD داشته باشین و در تمام کلاسها از همین استفاده کنید این روش منطقی نیست.
مثلا برای User و Blog اگر عملیات create رو در نظر بگیریم، هر کدومشون عملیات متفاوت و پراپرتی های(فیلد جداول) متفاوتی دارن.
از طرف دیگه اگر معماری MVC رو در نظر بگیریم، در همین مثال بالا User و Blog هر کدومشون Model و Controller و View ای مستقل از یکدیگر دارن. عمل CRUD در کنترلر هر کدومشون قرار میگیره و بعنوان یک Action در نظر گرفته میشه.
بصورت کلی آدرس هامونو در MVC میتونیم این شکلی در نظر بگیریم:
http://example.com/index.php?r=controller/action
بعد برای User اگر بخوایم اکشن Create رو انجام بدیم:
http://example.com/index.php?r=user/create
اگر این آدرس رو در مرورگر باز کنیم، متد actionCreate فراخوانی میشه چک میکنه که فرمی سابمیت شده یا نه و چون در مرورگر باز کردیم و POST انجام نشده، view ی مربوط به create برای user باز میشه و فرمی برای کاربر نشان داده میشود و وقتی form رو submit میکنیم، باز هم این متد فراخوانی میشه اما این بار عملیات داخل if POST انجام میشه برای insert و ...
همین سازو کارو برای Blog و ... در نظر بگیرید میبینیم هر کدوم CRUD جدایی داره و همین CRUD برای کاربر Viewهای متفاوتی مرتبط با کنترلرو باز میکنه.
اگر منظور سؤالتون چیز دیگه ای بود، بگید تا بیشتر توضیح بدم.