+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 پاسخ 352 بازدید
+1 امتیاز
1 پاسخ 1.0هزار بازدید
0 امتیاز
1 پاسخ 458 بازدید
0 امتیاز
0 پاسخ 324 بازدید
+1 امتیاز
1 پاسخ 453 بازدید
+1 امتیاز
1 پاسخ 512 بازدید
0 امتیاز
0 پاسخ 300 بازدید
...