+1 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

آیا متد های action ها در Play Framework حتما باید static باشند؟

1 پاسخ

+1 امتیاز
قبل توسط (7.2هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

در مورد چرایی این مبحث که play framework از متدهای static برای action استفاده می کند نظرات فراوانی وجود دارد ، که برایند آنها این امر را به علت ماهیت stateless بودن محیط وب و playframework می داند.

اما در مورد سوال شما. در نسخه های قبل تر از 2.1 این امکان وجود نداشت اما از نسخه 2.1 به بعد با افزودن قابلیت dependency injection برای کنترلرها ، امکان استفاده از متدهای غیر استاتیک نیز فراهم شد.

تنها نکته آن این است که در فایل routes باید ابتدای مسیرهایی که به متد غیر استاتیک اشاره می کنند علامت @ اضافه کنید

GET           /logout                         @controllers.SecurityController.logout() #non static

GET           /                               controllers.Assets.at(path="/public", file="/index.html") #static

 

سوالات مشابه

0 امتیاز
1 پاسخ 228 بازدید
+1 امتیاز
1 پاسخ 873 بازدید
0 امتیاز
1 پاسخ 375 بازدید
0 امتیاز
0 پاسخ 239 بازدید
+1 امتیاز
1 پاسخ 336 بازدید
+1 امتیاز
1 پاسخ 346 بازدید
0 امتیاز
0 پاسخ 214 بازدید
...