+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 پاسخ 366 بازدید
+1 امتیاز
1 پاسخ 1.0هزار بازدید
0 امتیاز
1 پاسخ 471 بازدید
0 امتیاز
0 پاسخ 335 بازدید
+1 امتیاز
1 پاسخ 464 بازدید
+1 امتیاز
1 پاسخ 526 بازدید
0 امتیاز
0 پاسخ 311 بازدید
...