+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 پاسخ 342 بازدید
+1 امتیاز
1 پاسخ 995 بازدید
0 امتیاز
1 پاسخ 448 بازدید
0 امتیاز
0 پاسخ 316 بازدید
+1 امتیاز
1 پاسخ 444 بازدید
+1 امتیاز
1 پاسخ 499 بازدید
0 امتیاز
0 پاسخ 293 بازدید
...