[PHP] (/ [JQuery]?) pagina systeem / framework website?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:45
Mijn vraag

Ik ben voor het eerst sinds jaren een serieuze poging aan het wagen om het maken van een website weer op te pakken. De laatste serieuze website die ik heb gehad is rond de 20+ jaar geleden (au..)

Indertijd heb ik vooral php gebruikt voor dynamische zaken en ik merk dat er nog veel gebruiken van toen in mijn hoofd zitten maar ongetwijfeld zijn deze hopeloos verouderd. Hiervoor ben ik momenteel door youtube tutorials heen aan het gaan om een en ander bij te spijkeren en via trial and error vermaak ik me wel.

Nu loop ik echter op het volgende vraagstuk vast en ik merk dat ik niet de zoekterm lijk te vinden om tot resultaten te komen en alle tutorials etc die ik vind bevatten maar 1 pagina.

Het gaat om het volgende;

vroeger maakte ik een index pagina met diverse div's als een soort template. een hiervan was de body. In deze body laadde ik, afhankelijk van de url, een bepaalde pagina. (via php switch en links .php?p=pagina)

Hoe heet dit? en is dit nog steeds best practise of wat is beter? Kan iemand mij een duwtje in de juiste richting geven?

Wat ik al gevonden of geprobeerd heb
vroeger toen ik dit deed bestond (of kende) ik AJAX / JQuery nog niet, hier ben ik wel naar aan het kijken zodat ik in elk geval delen van de pagina kan verversen en niet persé de hele pagina hoef te vernieuwen. Maar het enige dat ik hierbij heb gevonden laadt direct wel alle content in en afhankelijk van de url wordt iets wel of niet zichtbaar. Dat lijkt mij de laadtijd niet bevorderen bij grote websites, dus lijkt mij zeker niet de best practise.

Ik ben al wat uren aan het kijken naar Dani Krossing op youtube voor tutorials, hierin heb ik het niet kunnen vinden.

ik heb gezocht op pagination, ik dacht dat dit de term was maar dit is vooral om << 1 2 3 >> weer te geven. Opzich als ik naar deze scripts kijk denk ik wel dat ik dit kan verbouwen naar een werkend systeem maar dat lijkt in essentie weer op hoe ik het 20+ jaar terug deed.

Ik heb getracht te kijken naar een framework, laravel in dit geval. Dit is, op dit moment, nog te veel abracadabra en hoewel ik zeker het nut snap van zo'n systeem vind ik het leuker om zelf te beginnen zodat ik het fundament weer begrijp alvorens eventueel naar zulke systemen te gaan.

Overigens, het is voor eigen hobbymatig gebruik op een afgeschermde omgeving dus fouten maken mag (leer ik van) en verder is niemand anders dan ik daar dan de dupe van.

edit: wellicht relevant not sure, vroeger deed ik alles procedureel, momenteel wil ik alles object georiënteerd doen.

Beste antwoord (via MisterEagle op 31-10-2024 20:25)


  • Kvanhemert
  • Registratie: April 2017
  • Laatst online: 18:24
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:

vroeger maakte ik een index pagina met diverse div's als een soort template. een hiervan was de body. In deze body laadde ik, afhankelijk van de url, een bepaalde pagina. (via php switch en links .php?p=pagina)

Hoe heet dit? en is dit nog steeds best practise of wat is beter? Kan iemand mij een duwtje in de juiste richting geven?
Wat jij in het verleden hebt gedaan is een vorm van dynamic content loading. Waarschijnlijk had je ongeveer zoiets als dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include('header.php');

$page = $_GET['p'];
$page_file = "pages/{$page}.php";

if (file_exists($page_file)) {
    include($page_file);
} else {
    echo "Page not found.";
}

include('footer.php');
?>

In dit stukje code is er een header en een footer, waarbij de "body" wordt ingeladen aan de hand van een query parameter.

Zou ik dit best practice noemen? Zeker niet. Maar voor een hobby project, prima! Maak het jezelf niet al te moeilijk. Zorg er voor dat je in een werkende flow komt. De details die komen later wel.
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:
... AJAX / JQuery ... Dat lijkt mij de laadtijd niet bevorderen bij grote websites, dus lijkt mij zeker niet de best practise.
Op het moment dat je een library als jQuery gebruikt zou ik mij niet druk gaan maken om de laadtijden van je webpagina. Begrijp me niet verkeerd want jQuery is tot de dag van vandaag nog relevant, alleen niet wanneer de laadtijden van je webpagina de hoogste prioriteit zijn. Persoonlijk zou ik zeggen: laat die drang naar optimalisatie lekken varen. Premature optimization gaat je naarmate je project vordert echt nekken. Ga gewoon lekker aan de slag en waarschijnlijk kom je op de proppen met een prima applicatie. Is het dat niet? Dan kan je gaan kijken naar optimalisaties.
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:
Ik heb getracht te kijken naar een framework, laravel in dit geval. Dit is, op dit moment, nog te veel abracadabra en hoewel ik zeker het nut snap van zo'n systeem vind ik het leuker om zelf te beginnen zodat ik het fundament weer begrijp alvorens eventueel naar zulke systemen te gaan.
Zoals anderen ook al hebben gezegd, ga het wiel niet opnieuw uitvinden. Er zijn frameworks genoeg die allang hetgeen hebben geperfectioneerd waar jij naar opzoek bent. Ik snap dat het best ingewikkeld kan zijn als je van een lange tijd geleden weer terug komt maar je gaat er zoveel profijt van hebben als jij je hierin verdiept,

Als ik jou was zou ik nu lekker in elkaar flansen wat je in elkaar wilt flansen. Geen gekke dingen met partial loading, lekker van php pagina naar php pagina posten. Dat werkt echt prima.

Wanneer je een werkend concept hebt kun je dit proberen te porten naar een PHP framework zoals Laravel of Symphony. Van Laravel weet ik dat zij Laracasts hebben waarbij je echt aan het handje wordt gehouden om een laravel project te ontwikkelen. Geef het een poging!

Alle reacties


Acties:
  • +1 Henk 'm!

  • jappenees
  • Registratie: Juli 2010
  • Laatst online: 17:16
Ik zou inderdaad kijken naar iets als Laravel. Php framework met goede documentatie. Daar kun je prima een maatwerk website mee bouwen.
Als ik je zo hoor zijn je kennis en ideeën wat verouderd. Jquery en met php switch statements meerdere verschillende pagina’s genereren voelt wat “houtje toutje”. Laravel heeft hier een mooi systeem voor genaamd routes met views en blade templates. Wel wat abstracter maar wel simpel om te leren.

Zelf iets maken kan ook. Dan zou ik zoeken op de term “MVC” in combinatie met php. En termen als “router” en “templating engine php”
Met javascript je html renderen kan ook. Maar dan wordt het vrij snel complexer met allerhande extra frameworks en of technieken. Ik zou even simpel beginnen om weer wat wegwijs te worden

[ Voor 27% gewijzigd door jappenees op 30-10-2024 22:11 ]


Acties:
  • 0 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:45
jappenees schreef op woensdag 30 oktober 2024 @ 22:05:
Ik zou inderdaad kijken naar iets als Laravel. Php framework met goede documentatie. Daar kun je prima een maatwerk website mee bouwen.
Als ik je zo hoor zijn je kennis en ideeën wat verouderd. Jquery en met php switch statements meerdere verschillende pagina’s genereren voelt wat “houtje toutje”. Laravel heeft hier een mooi systeem voor genaamd routes met views en blade templates. Wel wat abstracter maar wel simpel om te leren.

Zelf iets maken kan ook. Dan zou ik zoeken op de term “MVC” in combinatie met php. En termen als “router” en “templating engine php”
Met javascript je html renderen kan ook. Maar dan wordt het vrij snel complexer met allerhande extra frameworks en of technieken. Ik zou even simpel beginnen om weer wat wegwijs te worden
Haha ja kennis is zeker verouderd en daar heb ik serieus 'last' van op deze tocht.
Als ik naar laravel kijk dan ziet het er inderdaad goed gedocumenteerd uit, maar heb ik minder het idee dat ik met PHP bezig ben omdat veel zaken al eenvoudiger zijn gemaakt (hoop dat ik zo begrijpelijk uitleg wat ik bedoel)
Opzich is daar niets mis mee, maar ik ben bang dat als ik dan het 'kunstje' met laravel leer ik nog steeds niet zelfstandig super uit de voeten kan. Wellicht zie ik dat ook verkeerd hoor.

Dankjewel voor de termen (en sowieso je reactie), ik ga daar mee googlen.

Acties:
  • +1 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Nu online
Basically wat jij nu aan het bedenken bent heeft een framework al voor je gedaan en beter (en ook veiliger!) dan wat jij in je eentje kan. Daarom zou ik ook aanraden om een framework te gaan gebruiken. hier wat uitleg en een lijstje van mogelijke frameworks

Je vertelt verder niet wat voor website je wilt bouwen maar misschien is een static site generator wel interessant om naar te kijken? Er is een hoop wat je kan leren zonder met PHP bezig te zijn.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:45
Ramon schreef op woensdag 30 oktober 2024 @ 22:37:
Basically wat jij nu aan het bedenken bent heeft een framework al voor je gedaan en beter (en ook veiliger!) dan wat jij in je eentje kan. Daarom zou ik ook aanraden om een framework te gaan gebruiken. hier wat uitleg en een lijstje van mogelijke frameworks

Je vertelt verder niet wat voor website je wilt bouwen maar misschien is een static site generator wel interessant om naar te kijken? Er is een hoop wat je kan leren zonder met PHP bezig te zijn.
Soort registratiesysteem. Ik wil voor mijn hobby wat gegevens bijhouden én ik vond het vroeger heerlijk om bezig te zijn met iets te maken. Ik zou het ongetwijfeld sneller kunnen realiseren met MS forms oid maar dat zou minder voldoening geven, naast dat het dan ook minder een mentale uitdaging is en ik daar momenteel juist veel behoefte aan heb.
Het komt lokaal op m'n nas te draaien dus qua veiliger enzo maak ik mij geen zorgen. Mijn nas is ook niet van buitenaf te benaderen. Puur eigen gebruik dus.

Acties:
  • +2 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:15

TeeDee

CQB 241

Welkom terug ;) (Na 20 jaar!).

Wil je perse met php aan de slag? Sta je open voor andere talen om te leren? Er is in 20 jaar tijd zoveel veranderd dat het bijna niet bij te houden is... Ik zou ook niemand laten starten/verdergaan met JQuery. Niet omdat 't slecht is, maar niet meer van deze tijd. Bijna alle browsers hebben die abstractie niet meer nodig.

Je zou bijvoorbeeld ook aan de slag kunnen gaan met React, Angular, Vue of wat voor framework dan ook.

Lange vraag kort:
Wat wil je bereiken? Een soort registratiesysteem, wil je weer back in business zijn qua development of gewoon nieuwe dingen leren?

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:45
TeeDee schreef op woensdag 30 oktober 2024 @ 22:57:
Welkom terug ;) (Na 20 jaar!).

Wil je perse met php aan de slag? Sta je open voor andere talen om te leren? Er is in 20 jaar tijd zoveel veranderd dat het bijna niet bij te houden is... Ik zou ook niemand laten starten/verdergaan met JQuery. Niet omdat 't slecht is, maar niet meer van deze tijd. Bijna alle browsers hebben die abstractie niet meer nodig.

Je zou bijvoorbeeld ook aan de slag kunnen gaan met React, Angular, Vue of wat voor framework dan ook.

Lange vraag kort:
Wat wil je bereiken? Een soort registratiesysteem, wil je weer back in business zijn qua development of gewoon nieuwe dingen leren?
hmm goede vraag. Ik wil vooral een mentale uitdaging/afleiding en nieuwe dingen leren. Ik heb geen behoefte aan een carrièreswitch.

Waarom dan PHP, vooral omdat ik, ondanks dat het jaren geleden is, quick en dirty nog best kom met de kennis van toen. Echter, wil ik het vooral goed doen (iets met perfectionist en oa daarom ook in de situatie dat ik echt een mentale afleiding/uitdaging nodig heb) en op een hedendaagse manier.

Wellicht is het inderdaad wel beter om iets totaal nieuws te pakken zodat ik ook geen 'last' heb van de oude kennis maar wel een stijlere leercurve.

Voor wat betreft het registratiesysteem. Ik vis graag. Ik zou graag mijn vangsten bijhouden met daarbij wat aanvullende informatie die ik geautomatiseerd aan wil laten vullen. Denk aan gps locatie / maps / meteo etc. (en ja, hier bestaan ook al apps voor dus het gaat niet eens zo zeer om het systeem. Meer om het bezig zijn)

Acties:
  • +1 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:15

TeeDee

CQB 241

Die open vraag had ik niet zo moeten stellen. ;)

Al je wensen en eisen zijn prima in te passen met any framework of eigen brouwsel. Alleen, hoeveel tijd wil je er in steken.

Als je al ervaring met php hebt, EN het is een hobby project: lekker daar blijven. Zoals de rest al zegt, kijk naar laravel oid. (disclaimer: geen php kennis ;))

offtopic:
of je kijkt naar andere backends. Bijvoorbeeld een .Net backend, met <random front-end> als interface. Leer je eens wat anders ;)

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • +1 Henk 'm!

  • DaFeliX
  • Registratie: December 2002
  • Laatst online: 14:02

DaFeliX

Tnet Devver
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:
[...]

vroeger maakte ik een index pagina met diverse div's als een soort template. een hiervan was de body. In deze body laadde ik, afhankelijk van de url, een bepaalde pagina. (via php switch en links .php?p=pagina)

Hoe heet dit? en is dit nog steeds best practise of wat is beter? Kan iemand mij een duwtje in de juiste richting geven?

[...]
Om specifiek hier antwoord op te geven: Nee, doe dat nou niet. Wat je wil is een zgn front controller; zodat de bezoekers op "example.com/pagina" zitten, en niet op "example.com/index.php?p=pagina".

Verder kan ik het alleen maar eens zijn met wat al eerder gezegd is: Kies een leuk framework, dat zit waarschijnlijk veiliger in elkaar dan zelf bouwen. Je kunt altijd een (hobbyproject) later proberen zonder framework, om te zien of je zelf ook een router/dependency injection/whatever kunt bouwen. Maar voor iets dat online komt te staan, en je nu te weinig ervaring mee hebt zal waarschijnlijk uitlopen en iets wat heel lang duurt, iets wat lastig te onderhouden zal zijn en waarschijnlijk ook niet zo heel veilig.

Einstein: Mijn vrouw begrijpt me niet


Acties:
  • +2 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Probeer Symfony en Laravel allebei en kijk wat je het best bevalt

In mijn ervaring is Symfony strikter en meer puur PHP met configuratie waar je expliciet wat magie aan en uit kunt zetten en Laravel laat je toe gewoon random (met globals en statische functies) alles aan te roepen waar en wanneer je maar wilt waardoor het snel rommelig kan worden en moeilijker te unit testen is.

Symfony heeft daardoor een wat steilere leercurve maar leert je wel meer gebruik maken van design patterns die je ook weer kunt toepassen in andere programmeertalen.

edit: dit wilde ik nog toevoegen maar vergeten; Laravel heeft dus een lagere instap en zal je waarschijnlijk sneller resultaat geven als beginner. Dat is denk ik de reden waarom het zo populair is. Beiden hebben, zoals altijd, hun eigen sterktes/zwaktes en doelgroepen.

[ Voor 19% gewijzigd door Cartman! op 31-10-2024 13:51 ]


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Kvanhemert
  • Registratie: April 2017
  • Laatst online: 18:24
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:

vroeger maakte ik een index pagina met diverse div's als een soort template. een hiervan was de body. In deze body laadde ik, afhankelijk van de url, een bepaalde pagina. (via php switch en links .php?p=pagina)

Hoe heet dit? en is dit nog steeds best practise of wat is beter? Kan iemand mij een duwtje in de juiste richting geven?
Wat jij in het verleden hebt gedaan is een vorm van dynamic content loading. Waarschijnlijk had je ongeveer zoiets als dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include('header.php');

$page = $_GET['p'];
$page_file = "pages/{$page}.php";

if (file_exists($page_file)) {
    include($page_file);
} else {
    echo "Page not found.";
}

include('footer.php');
?>

In dit stukje code is er een header en een footer, waarbij de "body" wordt ingeladen aan de hand van een query parameter.

Zou ik dit best practice noemen? Zeker niet. Maar voor een hobby project, prima! Maak het jezelf niet al te moeilijk. Zorg er voor dat je in een werkende flow komt. De details die komen later wel.
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:
... AJAX / JQuery ... Dat lijkt mij de laadtijd niet bevorderen bij grote websites, dus lijkt mij zeker niet de best practise.
Op het moment dat je een library als jQuery gebruikt zou ik mij niet druk gaan maken om de laadtijden van je webpagina. Begrijp me niet verkeerd want jQuery is tot de dag van vandaag nog relevant, alleen niet wanneer de laadtijden van je webpagina de hoogste prioriteit zijn. Persoonlijk zou ik zeggen: laat die drang naar optimalisatie lekken varen. Premature optimization gaat je naarmate je project vordert echt nekken. Ga gewoon lekker aan de slag en waarschijnlijk kom je op de proppen met een prima applicatie. Is het dat niet? Dan kan je gaan kijken naar optimalisaties.
MisterEagle schreef op woensdag 30 oktober 2024 @ 21:59:
Ik heb getracht te kijken naar een framework, laravel in dit geval. Dit is, op dit moment, nog te veel abracadabra en hoewel ik zeker het nut snap van zo'n systeem vind ik het leuker om zelf te beginnen zodat ik het fundament weer begrijp alvorens eventueel naar zulke systemen te gaan.
Zoals anderen ook al hebben gezegd, ga het wiel niet opnieuw uitvinden. Er zijn frameworks genoeg die allang hetgeen hebben geperfectioneerd waar jij naar opzoek bent. Ik snap dat het best ingewikkeld kan zijn als je van een lange tijd geleden weer terug komt maar je gaat er zoveel profijt van hebben als jij je hierin verdiept,

Als ik jou was zou ik nu lekker in elkaar flansen wat je in elkaar wilt flansen. Geen gekke dingen met partial loading, lekker van php pagina naar php pagina posten. Dat werkt echt prima.

Wanneer je een werkend concept hebt kun je dit proberen te porten naar een PHP framework zoals Laravel of Symphony. Van Laravel weet ik dat zij Laracasts hebben waarbij je echt aan het handje wordt gehouden om een laravel project te ontwikkelen. Geef het een poging!

Acties:
  • +2 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:45
Dank jullie wel allen voor de reacties. Lastig het beste antwoord te kiezen maar ik kan voorlopig wel vooruit.

@Kvanhemert dat is inderdaad wat ik deed, al laadde ik de content echt in een specifieke div al in zodat ik het menu etc ook maar op 1 plek had qua code etc. Maar komt op hetzelfde neer inderdaad. Ik ga het eigenwijs doen zoals je voorstelt, voor nu lekker in de flow komen, wel meteen oefenen met OOP en dan porten naar laravel.

@DaFeliX ik heb in het verleden wel wat geklungeld met .htaccess. voor 1 domein kreeg ik dat wel werkend maar met meerdere domeinen op dezelfde host niet. Nu niet meer relevant en ben wat wijzer geworden (of ouder althans) dus ga daar eens naar kijken icm met de term, thanks!

@Cartman! (En anderen die laravel aanbevolen) Ik heb vandaag even vluchtig naar beiden gekeken. Ik vermoed dat het laravel wordt, ik vind hun bootcamp al prettig werken in elk geval.

Acties:
  • +1 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
Begin ook eens helemaal vanaf de andere kant. Gewoon een CMS installeren: Drupal, Wordpress, binnen 2 minuten draait je complete website, inloggen, users, thema's (look&feel), password reset, statistieken eigenlijk is alles al voor je geregeld, maar vervolgens kan je zelf een eigen kalender module bouwen of die ook weer installeren en naar smaak aanpassen.

Het is allemaal misschien niet zo back to basic zoals je van plan bent, maar je hebt wel een idee wat er allemaal mogelijk is en waar anderen al over hebben nagedacht.

In Wordpress kan je dat hele inloggen, backup, access en user beheer afhandelen, maar vervolgens met 2 regeltjes php een hele lege, eigen pagina maken, die dan wel is beveiligd en als je wil de naam en avatar van de gebruiker kan tonen.

Acties:
  • +2 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
En vervolgens tot het einde der tijden de boel up to date houden voor de vele gaten in de beveiliging. Vooral bij WordPress dan, Drupal is een heel stuk veiliger maar daar is de leercurve dan ook weer wat hoger. Geen gek idee alsnog overigens :)
Pagina: 1