Poniżej lista małych tematów, które można dorzucać do większych ćwiczeń jak jakimś cudem zostanie trochę czasu.
Globalne info o braku strony
To je dobre bo w innych frameworkach ten mechanizm jest na porządku dziennym.
//Global.scala - w katalogu app- będzie warning o tym by nie dodawać do domyślnej paczki. object Global extends GlobalSettings { override def onStart(app:Application){ Logger.info("startujemy ku*wa") //to tak dla bajery } override def onHandlerNotFound(request: RequestHeader) = { Future.successful(NotFound( views.html.nieZnalazlem(request.path) )) } } //nieznalazlem.scala.html @* nieZnalazlem Template File *@
@(param: Any)
<h1>Nie ma takie strony ku*wa</h1>
Taki niby Quartz
Tutaj jest pierwszy kontakt z Akka.
//Global.scala override def onStart(app:Application){ Logger.info("startujemy ku*wa") import play.api.Play.current import scala.concurrent.duration._ import scala.concurrent.ExecutionContext.Implicits.global val quartzActor=Akka.system.actorOf(Props(new quartz.QartzActor())) Akka.system.scheduler.schedule(0.seconds,30.seconds,quartzActor,RobCos()) } class QartzActor extends Actor{ def receive={ case RobCos()=>println("robie cos") case _ =>println("robie nic") } } case class RobCos()
Zabawniejszy konfig
Konfig w Playu jest bardzo wygodny w użyciu i ma kilka ciekawych sztuczek. Są takie niby przestrzenie nazw dla propertasów oraz sklejanie propertasów, które fajnie działa przy sklejaniu ścieżek. Tu dla sportu stworzymy sobie ścieżkę z warzywa.
//application.conf warzywo: { kolor=zielony, smak=kwaśny } property=${warzywo.kolor}/resztaSciezki //html @play.api.Play.current.configuration.getString("warzywo.kolor")
<br/>
@play.api.Play.current.configuration.getString("property")
Minimalizacja javaskryptu
Ten tamat znacznie się rozwinął w Play 2.3 za sprawą sbt-web (chyba) także tutaj uboższa wersja dla wersji 2.2
w app stworzyć paczkę assets.js
//test.js function dzialaj(a){ var tekst="aaa" console.log(tekst) } //_notCompiled.js function dzialaj2(a){ var tekst="aaa" console.log(tekst) }
Teraz trzeba odświeżyć stronkę bo jakoś sam z siebie tych rzeczy nie kompiluje i mamy
//test.min.js function dzialaj(a){var tekst="aaa";console.log(tekst)}; //_notCompiled.js function dzialaj2(a){ var tekst="aaa" console.log(tekst) }
I to to nawet nam kompiluje javascript i sprawdza składnie! Bardzo ładnie!
No i to były właśnie takie krótkie małe tematy.
sbt-web a właściwie sbt-uglify. Patrz https://github.com/sbt/sbt-web#available-plugins
OdpowiedzUsuńspoko, dzięki za linka.
OdpowiedzUsuń