Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Mikael Roos
@mosbth
Du fick aldrig säga hur du ville view skulle funka, du hade en tanke/idé? Vill du berätta om den?
Anders Nygren
@litemerafrukt
Jag vill nog mest förenkla lite.
Det var därför jag frågade en massa om tankarna bakom. För att se om jag missat något.
När jag satt och skrev på kmom04 skrev jag ner lite lösa tankar på hur jag kanske skulle villja ha en view/render.
Så jag har inte kommit så långt :smile:
Så här tänkte jag att det skulle kunna se ut:
$app->router->add("", function () use ($app) {
    $app->view->add("layout")
        ->data(["title" => "Hem"])
        ->name("layout");

    $app->view->add("index")->name("main");

    return $app->response->setBody($app->view->layout->render());
});
Lite tankar om hur det skulle fungera:
  • View är en container.
  • view->add() returnerar en region
  • add() metoden lägger till regionen i view-containern
  • view har en invoke metod som returnerar en region som inte läggs till containern
  • regionens render() metod returnerar alltid, aldrig sända
Anders Nygren
@litemerafrukt
Invoke-metoden är tänkt för att view ska kunna användas såhär:
$myRendererdStuff = $app->view('myViewFile')->data('myData')->render();
Som du ser på första kod-exemplet tänker jag mig nån get-magic metod för att kunna skriva $app->view->regionNamn->render();
Mikael Roos
@mosbth
Du nämnde att detta var inspirerat av vy-hantering i något annat ramverk?
Finns den någon speciell styrka/fördel som du kan lyfta fram med detta sättet, kanske något som inte funkar med den implementation som är idag?
Mikael Roos
@mosbth
Funderar på vad som inspirerar dig till denna varianten.
Anders Nygren
@litemerafrukt
Semantiken är mest inspirerat av Laravels blade template engine men och senaste versionen av Laravel collections
Min tanke var att göra något enklare. Färre features.
Att alltid få tillbaka den renderade templaten tex, aldrig riskera att ha sänt nått.
Det är också från blade ;)
Tror inte min variant skulle göra något som inte dagens variant gör.
Anders Nygren
@litemerafrukt
Som sagt ville jag förenkla. Det är den enda styrkan/fördelen.
Det kan också vara så att …. jag är sugen på att skriva en egen modul ;)
Tycker det är hemskt kul att pilla runt med ramverk!
Mikael Roos
@mosbth
Vi ska nog finna en een modul till dig :)
Det är bra om vi efterhand blir rätt överens om grunden i ramverket, men vi behöver ju prata igenom alla delar och väga på guldvåg.
Jag tar och skriver dokumentationen vill View modulen med exempel, jag tror det blir enklare att diskutera då, så ser vi vad man kan göra och vad som saknas. Jag började lite, hojtar till när jag skrivit lite till.
Ska läsa lite om Laravels collections och blade.
Jag tror grundstrukturen är rätt bra, men låt se när vi diskuterat klart!
Anders Nygren
@litemerafrukt
Jo, väga saker och fundera på användingsupplevelsen är nog så viktigt. Hörde en podcast om hur två bidragsgivare till just Laravel (skaparen och en annan) hade funderat fram och tillbaka på apiet till en ganska liten feature. Det var intressant. Allt ifrån ordval till metoder. Så är också, enligt mig, Laravel ordentligt intutivt att använda.