[PHP] Waar te beginnen?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Goedendag,

Ik hoop dat ik dit topic in het juiste forum heb geplaatst, anders het verzoek mij hierop te wijzen en het alsnog te verplaatsen.

Lang geleden heb ik wat met HTML 4 en PHP 4 zitten spelen.
Nu wil ik dit echter op professioneler nivo voortzetten.

Dit zal dus waarschijnlijk HTML 5 en PHP 7 gaan worden.
Waar moet ik op letten en waar moet ik beginnen om dit goed onder de knie te krijgen.

Ik denk zelf haast dat een frisse start het beste is dus dan zou ik (denk ik) moeten beginnen om HTML 5 en CSS 3 te leren en daarna dit samen te gaan voegen met PHP 7 en Object Georiënteerd Programmeren.

Iemand enig advies om hier mee te beginnen door middel van websites en/of boeken?
Boeken hebben enigszins de voorkeur omdat ik lezen uit een boek toch nog steeds makkelijker vindt dan van een scherm, en een boek is ook offline beschikbaar.

Alvast bedankt voor alle tips.

[ Voor 8% gewijzigd door Supremecy op 26-12-2016 20:04 ]

Alle reacties


Acties:
  • +3 Henk 'm!

  • Hahn
  • Registratie: Augustus 2001
  • Laatst online: 17:26
Je leert het door te doen, niet door erover te lezen. Dus ik zou zeggen, bedenk iets wat je wilt maken en probeer het te maken :)

The devil is in the details.


Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Je leert het inderdaad door te doen, ben ik met je eens.
Op internet kun je voor bijna alles wel code vinden, nadeel daarvan is dat je dan heel makkelijk wordt en de code kopieert en zo verder gebruikt.

Je weet dan niet waarom iets op die manier werkt en wat er vooraf is gegaan om tot dat idee te komen.
En juist dat gedeelte wil ik ook machtig zijn, ik wil niet zomaar code van andere gaan gebruiken ik wil het zelf bedenken en ik denk dat je daarvoor toch wel enige basiskennis moet hebben.

Die basiskennis denk ik dat ik persoonlijk makkelijker vanuit een boek leer.

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Supremecy schreef op maandag 26 december 2016 @ 20:16:
Je weet dan niet waarom iets op die manier werkt en wat er vooraf is gegaan om tot dat idee te komen.
Je kan ook eerst leren om die code te analyseren. Dan weet je wat het doet.

Één heel belangrijk ding van programmeren is het kunnen analyseren van andermans code. Lees hiervoor mijn eerste zin.

Voorbeeld, stel iemand heeft geschreven:
PHP:
1
2
3
4
5
6
<?php
if ('192.168.1.10' === $_SERVER['REMOTE_ADDR']) {
    echo 'Welcome developer';
} else {
    echo 'Welcome quest';
}

Google dat eens en voila! Een handleiding

Er zijn miljarden dingen zoals: functies, classes, interfaces, traits en Superglobals
Dat past gewoon niet allemaal in een "holy grail of programming", dus begin eens met de language references

[ Voor 16% gewijzigd door DJMaze op 27-12-2016 00:58 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • +3 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Hahn schreef op maandag 26 december 2016 @ 20:05:
Je leert het door te doen, niet door erover te lezen. Dus ik zou zeggen, bedenk iets wat je wilt maken en probeer het te maken :)
Toch heb je absoluut eerst wat basiskennis nodig, en die leer je toch écht het beste uit een boek of andere geschreven bron. Zonder basis maar wat aankloten eindigt in een programmeur die best wat dingen in elkaar kan zetten maar die ongetwijfeld problemen gaat krijgen met best practices en andere details.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Komt nog eens bij dat het, vooral in het geval van PHP, erg makkelijk is om compleet verkeerde voorbeelden te vinden (veel SQL voorbeelden bijvoorbeeld zijn injection vulnerable) en dat je ook nog eens het probleem hebt dat de 'oude' manier van PHP gemixt met HTML natuurlijk compleet 2002 is: die manier van werken moet je je daarna helemaal af gaan leren.

Dus ik ben het er niet mee eens dat domweg een beetje gaan zoeken op internet de beste methode is. Ik neem toch aan dat er ook voor PHP gewoon goeie online cursussen moeten zijn?

https://niels.nu


Acties:
  • 0 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Supremecy schreef op maandag 26 december 2016 @ 20:16:
Op internet kun je voor bijna alles wel code vinden, nadeel daarvan is dat je dan heel makkelijk wordt en de code kopieert en zo verder gebruikt.
Kwestie van mentaliteit. Ik haal vaak code van internet maar zal nooit iets gebruiken wat ik niet begrijp. Ik heb vaak genoeg werkende code van internet weer uit mijn projecten gehaald omdat ik naar mijn mening niet goed genoeg begreep hoe die code werkte. Als ik het niet kan onderhouden dan wil ik het ook niet gebruiken.

Dat gezegd hebbende: Ik hoef niet van het programmeren te leven. Ik doe het als hobby en om het werk van mij en mijn collega's te vereenvoudigen. Iemand voor wie elk verloren uur gewoon geld kost komt misschien sneller in de verleiding om maar gewoon wat code van het internet te plukken en er niet meer naar te kijken als het werkt.

Acties:
  • 0 Henk 'm!

Verwijderd

Supremecy schreef op maandag 26 december 2016 @ 20:03:
Ik denk zelf haast dat een frisse start het beste is dus dan zou ik (denk ik) moeten beginnen om HTML 5 en CSS 3 te leren en daarna dit samen te gaan voegen met PHP 7 en Object Georiënteerd Programmeren.

Iemand enig advies om hier mee te beginnen door middel van websites en/of boeken?
Probeer deze eens: http://www.elated.com/art...n-an-afternoon-php-mysql/

Acties:
  • +2 Henk 'm!

  • klaaz
  • Registratie: April 2000
  • Laatst online: 06-10 07:24

klaaz

it's me!

Ik programmeer al jaren in PHP en heb ik die jaren nooit een boek aangeraakt. Wel heel veel tutorials gevolgd en vooral geprobeerd zelf mijn eigen code te schrijven. (Code van anderen bij elkaar plakken is veel lastiger te beheren)

In de afgelopen 10 jaar heb ik enorm veel geleerd maar vooral ook weer afgeleerd. Je kunt zo veel dingen verkeerd of net niet goed genoeg doen. Elke nieuwe opdracht maakte ik weer beter (vooral anders) dan de vorige. Het gevolg was enorme differentiatie in mijn code tussen projecten. Dat maakt het beheren van die projecten enorm lastig op den duur.

Als iemand mij zou vragen wat ie moet doen als PHP wannabee dan zeg ik begin direct maar met een PHP Framework (Laravel, Symfony, Yii). Die zitten doorgaans goed in elkaar en kun je direct gebruiken voor het maken van degelijke websites. Daarnaast standaardiseer je je werkwijze waardoor het beheer een stuk makkelijker wordt.

En je kunt van de (Open source) code van een PHP framework veel leren omdat deze meestal netjes is geschreven en veel betere voorbeeldcode bevat dan alle losse PHP meuk (vaak jaren oud) die je bij elkaar sprokkelt op het Internet. Daarnaast is er bij Frameworks sprake van pakket beheer (Composer voor serverside, Bower voor clientside) waarmee je de verschillende onderdelen van je framework up to date kunt houden of juist te laten staan op een bepaalde versie van een pakket (package) omdat je website anders niet meer werkt.

Ik gebruik Laravel 5.3, goed gedocumenteerd, actieve ontwikkeling, enorm veel uitbreidingen beschikbaar en een grote community. Met Laravel (en elk ander kwalitatief goed framework) kan ik me richten op the big picture en zijn belangrijke zaken als autorisatie, koppelingen met databases en responsive design (standaard bootstrap in Laravel) goed geregeld.

Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Iedereen alvast hartstikke bedankt voor de reacties, die website van build a CMS in an afternoon zal ik zeker gaan bekijken.

Zoals Klaaz aangeeft een Framework gaan leren is inderdaad een mogelijkheid maar leer je daardoor ook PHP zelf kennen of is dat puur in samenwerking met dat Framework?

Verder zoek ik nog steeds een studieboek aangezien ik toch enigszins een basis wil opbouwen.
Ik heb kans dat ik straks een opleiding tot PHP programmeur mag gaan volgen en wil dan een beetje beslagen ten ijs komen. Mezelf voorbereiden zodat ik niet helemaal blanco hoef te beginnen.

Het stukje code van DJMaze begreep ik eigenlijk direct wel wat het deed.
Wil echter niet zeggen dat ik direct weet wat de _SERVER variable doet en dat werdt wel weer duidelijker uit de handleiding. Alleen kom ik daar niet die _SERVER tegen maar iedere keer met iets er achter.

Wat ik hiermee bedoel te zeggen is dat ik wel globaal weet wat een stukje code doet als ik het zie.
Maar ik wil ook zelf leren en begrijpen hoe er tot die code is gekomen en waarom deze op een bepaalde manier is toegepast. Nu zal dat wel voornamelijk uit ervaring voortkomen maar dan nog.

Al met al zoek ik nog steeds een boek O-)

Acties:
  • +1 Henk 'm!

  • BasilFX
  • Registratie: Mei 2004
  • Laatst online: 06-10 08:32

BasilFX

BasilFX

klaaz schreef op dinsdag 27 december 2016 @ 11:02:
Als iemand mij zou vragen wat ie moet doen als PHP wannabee dan zeg ik begin direct maar met een PHP Framework (Laravel, Symfony, Yii). Die zitten doorgaans goed in elkaar en kun je direct gebruiken voor het maken van degelijke websites. Daarnaast standaardiseer je je werkwijze waardoor het beheer een stuk makkelijker wordt.
Ben ik het niet mee eens. Een framework gebruikt concepten en design patterns die je wel eerst moet beheersen. Als je niet weet wat een class/trait is (en kan), of wat het verschil tussen public/private/protected is, dan heeft het IMHO nog geen zin om aan een framework te beginnen. Ik heb nog geen programmeerboek gezien die een framework als rode draad gebruikt, om te leren programmeren.

http://www.basilfx.net


Acties:
  • 0 Henk 'm!

  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 09-10 13:33
Wat heb je zelf al gezocht en gevonden? Zonder dat we je precieze ervaring / niveau weten is het lastig adviseren. Er zijn talloze boeken en cursussen over PHP en / of webdevelopment. Heb je Coursera of EDX bijvoorbeeld al eens bekeken en wat sprak je wel of niet aan en waarom? Voor de basis kun je ook naar codecademy.com, daar leer je dingen als syntax, control flow en structuren.

[ Voor 8% gewijzigd door Morrar op 27-12-2016 13:02 ]


Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Video tutorials kijken en veel doen :-)

Als ik een tip(je) mag geven: Laravel. Dat is een modern framework wat heel eenvoudig werkt. Er zijn heel veel tutorials van te vinden waarvan de beste: https://laracasts.com/

De basisvideos daarvan zijn gratis.

Less = more


Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Morrar ik heb al veel boeken bekeken, maar ik weet niet wat nou een goed boek is om mee te beginnen.
EDX ben ik mee bekend, maar dat werkt niet offline.

Wat betreft mijn ervaring, zoals in mijn openingspost vermeld wil ik bij het begin beginnen weer aangezien er sinds HTML 4 en PHP 4 nogal veel is veranderd.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Hydra schreef op dinsdag 27 december 2016 @ 09:59:
Komt nog eens bij dat het, vooral in het geval van PHP, erg makkelijk is om compleet verkeerde voorbeelden te vinden (veel SQL voorbeelden bijvoorbeeld zijn injection vulnerable) en dat je ook nog eens het probleem hebt dat de 'oude' manier van PHP gemixt met HTML natuurlijk compleet 2002 is: die manier van werken moet je je daarna helemaal af gaan leren.

Dus ik ben het er niet mee eens dat domweg een beetje gaan zoeken op internet de beste methode is. Ik neem toch aan dat er ook voor PHP gewoon goeie online cursussen moeten zijn?
Helemaal voorkomen kun je 'de mix' natuurlijk niet, anders kun je namelijk geen dynamische pagina's hebben. :)

Zelf programmeer ik ook al jaren, maar recentelijk weer opgepakt eigenlijk en zelfs mijn werk in weten te vinden. :) Voor prive projecten werk ik voornamelijk met Laravel als framework, zakelijk met ZendFramework 2, dat is echt een Zwiters Zakmes in mijn beleving, maar dat heeft ook een wat stijlerte curve dan Laravel.

[ Voor 16% gewijzigd door CH4OS op 27-12-2016 13:21 ]


Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

CH40S schreef op dinsdag 27 december 2016 @ 13:19:
[...]
Helemaal voorkomen kun je 'de mix' natuurlijk niet, anders kun je namelijk geen dynamische pagina's hebben. :)
Haha... ik neem aan dat Hydra bedoelt dat er tussen je PHP code geen html meer staat... maar dat je netjes gebruik maakt van een template engine (zoals twig) of dat je een frontend applicatie hebt en php alleen gebruik voor de backend :-)

Dus voorkomen... zeer zeker wel! En voorkomen is beter dan genezen :+

Less = more


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

IWriteCode schreef op dinsdag 27 december 2016 @ 13:21:
Haha... ik neem aan dat Hydra bedoelt dat er tussen je PHP code geen html meer staat... maar dat je netjes gebruik maakt van een template engine (zoals twig) of dat je een frontend applicatie hebt en php alleen gebruik voor de backend :-)

Dus voorkomen... zeer zeker wel! En voorkomen is beter dan genezen :+
Aangezien iemand ook de basis (weer) wil leren, lijkt het me handig om niet al te veel hooi op de vork te gaan gooien. :)

Acties:
  • 0 Henk 'm!

  • lunarmoon
  • Registratie: Oktober 2002
  • Laatst online: 20:23
Kijk eens op http://www.dummies.com/programming/php/ Daar vind je boeken wat heel begrijplijk geschreven zijn.

Acties:
  • +1 Henk 'm!

  • Tjolk
  • Registratie: Juni 2007
  • Laatst online: 19:38
Ik denk dat sommige mensen dit een beetje over het hoofd hebben gezien:
Supremecy schreef op maandag 26 december 2016 @ 20:03:
Nu wil ik dit echter op professioneler nivo voortzetten.
Als iemand op professioneel niveau wil gaan programmeren, dan komt die er niet met alleen wat online tutorials waarvan de kwaliteit voor een beginner moeilijk op waarde te schatten is. Zoals Hydra terecht aangaf: het internet staat vol met voorbeelden die ronduit fout en gevaarlijk zijn.

Voor een eerste begin kan ik wel Codecademy aanbevelen. Dat is niet meer dan een low-level start, maar je geheugen wordt in ieder geval een beetje opgefrist. Volg daar eens de lessen voor PHP en SQL. Lekker op dreef? Nou, probeer dan maar eens een eigen CMS-je te maken. Daar zijn er al 1000 van, maar dat boeit niet. Het gaat in dit geval om de route, niet om de bestemming.

Teken voor jezelf eens uit wat je nodig hebt om tot een CMS te komen; d.w.z. een database (wat voor tabellen, welke relaties, etc), een stel views (HTML en CSS structuur maken) en een stuk logica wat het geheel aan elkaar knoopt. Doe dat lekker lokaal op een MAMP/WAMP/LAMP server die niet van buiten te benaderen is, want goede kans dat het zo lek als een mandje is. ;)
Gooi er "voor de leuk" ook wat functies in als een contactformulier, een uploadfunctie met bepaalde beperkingen en een rechten/rollenmodel waarbij je bijvoorbeeld onderscheid maakt tussen gasten, gewone gebruikers en een administrator.
Als je denkt dat je dat redelijk voor elkaar hebt, zet je je petje achterstevoren op en probeer je als buitenstaander in te breken in je eigen systeem. Alles waarvan je tegenkomt dat het lukt, los je op in je code.

Ben je zover dat je denk dat je lekker op stoom bent, dan wordt het tijd om eens verder te kijken in welke richting je jezelf wilt ontwikkelen. Meer front-end, meer back-end, liever allround? etc. Dan meldt je je vrolijk weer hier of je zoekt online naar goede cursussen. En dan bedoel ik de betaalde variant waar je degelijke begeleiding krijgt en ook een papiertje wat meer zegt dan dat je geld hebt overgemaakt naar de cursusleider, en dus ook iets waard is in de professionele wereld.

Tjolk is lekker. overal en altijd.


Acties:
  • 0 Henk 'm!

  • electricretard
  • Registratie: Juni 2013
  • Laatst online: 11-08 16:29
Als je vanaf 0 begint zou ik je adviseren om de gratis cursus HTML -> CSS en dan PHP te doen op codeacedemy.

Daarna weet je welke tools je in je PHP toolbox hebt. Dan zou ik eens gaan googlen naar toepassingen. Bijvoorbeeld hoe schrijf ik data uit een HTML formulier naar een MySQL Database, en hoe geef ik vervolgens deze data weer op een PHP pagina ?

En zo ga je verder en verder.

Success!

Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Wederom bedankt voor alle reacties.
En inderdaad het puntje op professioneler nivo verder willen staat hoog op de lijst.

Codecademy heb ik ook toegevoegd aan mijn lijst om mee te beginnen.
Eerst maar weer HTML en CSS, daarna PHP en (My)SQL.

Ik ga wel bij nul beginnen om zo een iets wat degelijker basis op te kunnen bouwen.
Vooral CSS is iets dat nog vrij nieuw is wat dat betreft, in de tijd dat ik er hobbymatig echt mee bezig was en zelf alles schreef was dat er nog niet echt.
Ik heb tussendoor ook wel websites gemaakt maar dat was dan meer een kant en klare template downloaden en die aanpassen aan mijn wensen. Levert een werkende site op maar je leert er verder weinig van.

Toch nog verder op zoek naar een boek, eventueel een die simpelweg de tags opsomt en de syntax ervan weergeeft. Deze gebruikte ik vroeger om mijn webpagina's te maken. Weet alleen niet of die er tegenwoordig nog zijn en voor PHP. Waren van die smalle boekjes van O'Reilly.

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 08-10 23:48

Ventieldopje

I'm not your pal, mate!

Supremecy schreef op dinsdag 27 december 2016 @ 16:24:
Wederom bedankt voor alle reacties.
En inderdaad het puntje op professioneler nivo verder willen staat hoog op de lijst.

Codecademy heb ik ook toegevoegd aan mijn lijst om mee te beginnen.
Eerst maar weer HTML en CSS, daarna PHP en (My)SQL.

Ik ga wel bij nul beginnen om zo een iets wat degelijker basis op te kunnen bouwen.
Vooral CSS is iets dat nog vrij nieuw is wat dat betreft, in de tijd dat ik er hobbymatig echt mee bezig was en zelf alles schreef was dat er nog niet echt.
Ik heb tussendoor ook wel websites gemaakt maar dat was dan meer een kant en klare template downloaden en die aanpassen aan mijn wensen. Levert een werkende site op maar je leert er verder weinig van.

Toch nog verder op zoek naar een boek, eventueel een die simpelweg de tags opsomt en de syntax ervan weergeeft. Deze gebruikte ik vroeger om mijn webpagina's te maken. Weet alleen niet of die er tegenwoordig nog zijn en voor PHP. Waren van die smalle boekjes van O'Reilly.
Die zijn er nog, wel zelf even uitprinten :> : http://php.net/download-docs.php.

Nee alle gekheid op een stokje, belangrijk is een goeie IDE (editor) met code completion, de php documentatie pagina en de stackoverflow pagina ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 09-10 19:07

Compizfox

Bait for wenchmarks

Als je direct wil beginnen met iets maken dan zou ik inderdaad met een framework beginnen. Als beginner aankloten met PHP zonder framework resulteert meestal in waar PHP juist zo 'berucht' om is: slechte, ongestructureerde spaghetticode. Dit komt doordat PHP makkelijk is om als beginner iets mee voor elkaar te krijgen. Als je echter geen programmeerkennis hebt (in een andere taal) dan zorgt dat helaas wel voor heel brakke code (en ja, daar heb ik me vroeger ook schuldig aan gemaakt).

Een framework behoedt je daar voor, omdat je met een framework 'binnen de lijntjes' moet werken; een framework beperkt in feite je vrijheid omdat het al een bepaalde structuur van je applicatie vastgesteld heeft waar je niet zomaar van kunt afwijken. Dat is uiteraard meestal een goede structuur ;)

Maar goede gestructureerde code kun je natuurlijk ook in vanilla PHP schrijven, daar heb je niet per se een framework voor nodig. Vooral voor kleine websites/webapps kan een framework misschien wat overkill aanvoelen. Alleen heb je dan wel kennis en doorzettingsvermogen nodig om ook echt goede, moderne PHP te schrijven. Een goede website met info hierover is http://www.phptherightway.com/, maar ik denk niet dat dat toegankelijk genoeg is voor een beginner zonder basiskennis van PHP. Als je het goed doet, ben je dan in feite gewoon je eigen mini-framework aan het schrijven voor de website/webapp die je bouwt. Als je daar gemotiveerd voor bent kan dat gewoon, maar een bestaand framework (zoals Laravel) gebruiken is waarschijnlijk wel minder moeite.

Om basiskennis van PHP aan te leren zijn er natuurlijk heel veel tutorials op internet te vinden, maar daat moet je wel opletten dat je een recente en goede pakt. Er drijven namelijk een hoop tutorials rond die of outdated zijn of door prutsers geschreven zijn (of beide natuurlijk ;)) en je dus oude, slordige PHP aanleren. Pas dus op als je tutorials ziet die aanleren om:
  • Geen templating gebruiken (PHP en HTML mixen)
  • Allemaal losse functies te schrijven en die in een functions.php te kwakken
  • Geen namespaces/autoloading/Composer gebruiken
  • De mysql-extensie te gebruiken (die is er ook niet meer in PHP7)
Die tutorial die dr0ptheb0mb linkt (CMS in an afternoon) ziet er wel OK uit :). CodeAcademy is ook een goede tip voor de basiszaken.

Je zou natuurlijk een boek kunnen nemen. Een boek wat ik veel aangeraden zie worden is Modern PHP (van dezelfde auteur als PHP: The Right Way, zie ik nu!). Ik het het zelf niet gelezen, maar misschien is dat wat.


CH40S schreef op dinsdag 27 december 2016 @ 13:19:
[...]
Helemaal voorkomen kun je 'de mix' natuurlijk niet, anders kun je namelijk geen dynamische pagina's hebben. :)
Natuurlijk kan dat wel. Als je templating gebruikt heb je als het goed is geen PHP tussen je HTML staan. En in je templates staat geen business logic, alleen presentation logic. Dan heb je dus een totale scheiding :)

[ Voor 8% gewijzigd door Compizfox op 28-12-2016 03:06 ]

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik vind dit altijd een leuk artikel om het verschil tussen "flat/spaghetti" en "OOP/framework" te zien dmv tekst en code: http://symfony.com/doc/3....flat_php_to_symfony2.html

Als fan van Symfony Framework kan ik dit framework natuurlijk dan ook erg aanraden. Ik denk dat met dit framework er wat meer nadruk ligt op design patterns en best practices, het nadeel is dat het misschien eerst een iets steilere leercurve heeft. Ook is dit naar mijn mening het meest "enterprise" framework wat er beschikbaar is binnen PHP.

Verder is het gaaf dat je zegt op een professioneel niveau ermee aan de slag te willen maar wat is dat voor jou? Site voor de bakker om de hoek of een site voor een bedrijf met duizenden bezoekers per uur? Ga je voor sites met een tradionele opbouw van PHP -> HTML of ga je "headless" zoals hierboven ook omschreven werd (frontend in html/css/js los van backend) waardoor je vooral RESTful API's gaat maken? Stel realistische doelen voor jezelf ook want je gaat hier niet in n paar weken of maanden allemaal uit zijn gok ik.

Het houdt overigens nog niet meteen op bij t schrijven van code. Waar ga je hosten? Gooi je code over de schutting of moet je t zelf deployen? Waarmee ga je dat doen? Welke IDE ga je gebruiken (tip: PhpStorm)?

[ Voor 20% gewijzigd door Cartman! op 28-12-2016 10:25 ]


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Ventieldopje schreef op woensdag 28 december 2016 @ 02:24:
Die zijn er nog, wel zelf even uitprinten :> : http://php.net/download-docs.php.

Nee alle gekheid op een stokje, belangrijk is een goeie IDE (editor) met code completion, de php documentatie pagina en de stackoverflow pagina ;)
Bij StackOverflow is het wel oppassen, want daar komt ook veel bullshit voorbij. Vanuit het werk al meer dan eens meegemaakt. ;)
Compizfox schreef op woensdag 28 december 2016 @ 02:54:
Natuurlijk kan dat wel. Als je templating gebruikt heb je als het goed is geen PHP tussen je HTML staan. En in je templates staat geen business logic, alleen presentation logic. Dan heb je dus een totale scheiding :)
De enige manier om PHP 100% te vermijden in je front-end is door bijvoorbeeld gebruik te gaan maken van Angular, Vue en noem ze maar op. Anders zul je echt code houden in je templates om je pagina's dynamisch te houden.

Nu weet ik toevallig dat je Laravel gebruikt voor een project, maar moet je voor de gein maar eens kijken in jouw storage/framework/views folder. Daar staan je Blade templates nadat Laravel de betreffende view heeft opgevraagd / geparsed... ;)

[ Voor 51% gewijzigd door CH4OS op 28-12-2016 11:22 ]


Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Ventieldopje ik heb de pagina's gedownload, denk dat ik toch nog maar even wacht met het uitprinten ervan :P

Het genoemde boek Modern PHP zal ik zeker eens gaan bekijken.
Of het over PHP 7 gaat weet ik niet (zijn voor zover ik heb gelezen wel echt voor het eerst weer een hoop veranderingen doorgevoerd) maar anders is het toch goed om een basis mee te maken.
Dus bedankt voor de tip Compizfox

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 09-10 19:07

Compizfox

Bait for wenchmarks

CH40S schreef op woensdag 28 december 2016 @ 11:09:
[...]
De enige manier om PHP 100% te vermijden in je front-end is door bijvoorbeeld gebruik te gaan maken van Angular, Vue en noem ze maar op. Anders zul je echt code houden in je templates om je pagina's dynamisch te houden.

Nu weet ik toevallig dat je Laravel gebruikt voor een project, maar moet je voor de gein maar eens kijken in jouw storage/framework/views folder. Daar staan je Blade templates nadat Laravel de betreffende view heeft opgevraagd / geparsed... ;)
Ja, Blade templates worden gecompileerd naar PHP. Fair enough. Ik bedoelde natuurlijk dat je geen PHP en HTML door elkaar heen schrijft.

Maar het gaat er eigenlijk uiteindelijk om dat je de presentation van business logic gescheiden houdt. Templating engines zoals Blade zijn slechts een middel tot dat doel. In plaats van Blade (of een andere templating engine) zou je ook gewoon PHP als taal voor je templates kunnen gebruiken. Dat is niet zo mooi als een taal die specifiek voor templating bedoeld is, maar het kan wel, en dan heb je nog steeds templating en dus scheiding van presentation and business logic. Volgens mij is dat ook wat ze doen in de tutorial die hierboven is gelinkt (CMS in an afternoon).

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Compizfox schreef op woensdag 28 december 2016 @ 13:32:
Ja, Blade templates worden gecompileerd naar PHP. Fair enough. Ik bedoelde natuurlijk dat je geen PHP en HTML door elkaar heen schrijft.
Helemaal los van elkaar kan alleen als je een web app hebt zoals je kan doen met bijvoorbeeld Angular en Vue, een andere manier om PHP en HTML echt te scheiden is er gewoon niet.
Maar het gaat er eigenlijk uiteindelijk om dat je de presentation van business logic gescheiden houdt. Templating engines zoals Blade zijn slechts een middel tot dat doel. In plaats van Blade (of een andere templating engine) zou je ook gewoon PHP als taal voor je templates kunnen gebruiken.
Feit blijft dat je uiteindelijk wel dergelijke code moet mixen (ongeacht wat voor 'logic' je hebt), omdat anders je pagina's gewoon niet dynamisch zijn. Of je moet dus zaken als Angular of Vue e.d. gaan gebruiken. ;)

Acties:
  • +1 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 09-10 19:07

Compizfox

Bait for wenchmarks

CH40S schreef op woensdag 28 december 2016 @ 13:37:
[...]
Helemaal los van elkaar kan alleen als je een web app hebt zoals je kan doen met bijvoorbeeld Angular en Vue, een andere manier om PHP en HTML echt te scheiden is er gewoon niet.
Natuurlijk wel. Als je een templating engine als Blade gebruikt schrijf je geen PHP en HTML door elkaar. Je schrijft alleen Blade en HTML door elkaar.

Die templates worden door je framework bij het uitvoeren wel gecompileerd naar PHP maar je schrijft dat niet zelf.

volgens mij vallen we in herhaling...
[...]
Feit blijft dat je uiteindelijk wel dergelijke code moet mixen (ongeacht wat voor 'logic' je hebt), omdat anders je pagina's gewoon niet dynamisch zijn. Of je moet dus zaken als Angular of Vue e.d. gaan gebruiken. ;)
Nee. Het scheiden van business logic en presentation logic heeft niets te maken met het wel of niet dynamisch zijn van je pagina's. Het feit dat je überhaupt logic hebt geeft al aan dat je pagina's dynamisch zijn.

Je business logic bestaat uit PHP-code in je controllers e.d., die bijvoorbeeld data uit je database ophalen, er iets leuks mee doen en het resultaat uiteindelijk doorsturen naar je view. Je view (template), aan de andere kant, bevat alleen presentation logic.

Als je een framework zoals Laravel gebruikt dan scheidt je als het goed is 'vanzelf' al je business logic van je presentation logic, omdat je de infrastructuur gebruikt die het framework je biedt (namelijk controllers en templates).

Als je geen framework en templating gebruikt maar je schrijf één PHP file waarin alles tegelijkertijd (met HTML gemixed) gebeurt, dan is het niet gescheiden.

Bekijk ook eens de link die door Cartman! al werd gepost, waarin wel duidelijk wordt uitgelegd wat die scheiding inhoudt voor vanilla PHP (zonder framework).

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
CH40S schreef op woensdag 28 december 2016 @ 11:09:
De enige manier om PHP 100% te vermijden in je front-end is door bijvoorbeeld gebruik te gaan maken van Angular, Vue en noem ze maar op. Anders zul je echt code houden in je templates om je pagina's dynamisch te houden.
Volgens mij haal je echt dingen door elkaar. In je front-end heb je uberhaupt geen PHP en het is prima mogelijk, zelfs best-practice, om een web framework met templating te gebruiken en geen PHP en HTML te mixen.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Hydra schreef op woensdag 28 december 2016 @ 16:47:
Volgens mij haal je echt dingen door elkaar. In je front-end heb je uberhaupt geen PHP en het is prima mogelijk, zelfs best-practice, om een web framework met templating te gebruiken en geen PHP en HTML te mixen.
Hoe je het ook wend of keert, je hebt altijd iets nodig om de variabelen om te zetten naar leesbare tekst voor de gebruiker. Geen idee hoe jij anders bijvoorbeeld $auth->user->name bijvoorbeeld wil omzetten naar wat leesbaars? ;)

Enige manier waarop je het dus voor 100% kan vermijden is door met PHP alleen een API te maken, waarop bijvoorbeeld een Vue of AngluarJS app hangt die de info bij de API ophaalt en vervolgens weergeeft. Een stukje logica heb je dus áltijd nodig en kan je niet onderuit.

Ik denk dat wij dus prima hetzelfde zeggen, maar anders verwoorden. :)

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 09-10 19:07

Compizfox

Bait for wenchmarks

Hydra schreef op woensdag 28 december 2016 @ 16:47:
[...]


Volgens mij haal je echt dingen door elkaar. In je front-end heb je uberhaupt geen PHP en het is prima mogelijk, zelfs best-practice, om een web framework met templating te gebruiken en geen PHP en HTML te mixen.
CH40S schreef op woensdag 28 december 2016 @ 16:52:
[...]
Hoe je het ook wend of keert, je hebt altijd iets nodig om de variabelen om te zetten naar leesbare tekst voor de gebruiker. Geen idee hoe jij anders bijvoorbeeld $auth->user->name bijvoorbeeld wil omzetten naar wat leesbaars? ;)

Enige manier waarop je het dus voor 100% kan vermijden is door met PHP alleen een API te maken, waarop bijvoorbeeld een Vue of AngluarJS app hangt die de info bij de API ophaalt en vervolgens weergeeft. Een stukje logica heb je dus áltijd nodig en kan je niet onderuit.

Ik denk dat wij dus prima hetzelfde zeggen, maar anders verwoorden. :)
Inderdaad, het zit hem hier in de details. Dus, voor de duidelijkheid:

Ja, uiteindelijk zal je PHP-applicatie HTML outputten. Wil je dat niet, dan moet je iets als Angular gebruiken wat de front-end van je applicatie rendert en je PHP-applicatie alleen een API laten aanbieden (die JSON output in plaats van HTML).

Echter, dat is niet waar Hydra en ik op doelen. Dat de applicatie HTML output, is namelijk iets anders dan dat je daarvoor HTML en PHP in je code moet mixen.

Dat hoeft namelijk niet per se. Als je een templating engine gebruikt schrijf je je templates in een andere taal dan PHP, zoals Blade, Smarty, Twig of wat dan ook. Die taal mix je met HTML (het is immers je template) in plaats van PHP. Ja, de meeste template engines (zoals Blade) compileren je templates naar PHP bij het uitvoeren maar dat maakt voor het punt niet uit. Je zou ook een template engine kunnen maken (bestaat ongetwijfeld ook wel) die de templates alleen interpreteert bij het uitvoeren en ze niet compileert naar PHP. Dan heb je dus helemaal nergens PHP en HTML door elkaar staan, ook niet in gecompileerde code. De output is wel HTML maar, nogmaals, dat is een ander punt.

Maar uiteindelijk is deze hele discussie vrij irrelevant omdat de stelling waarmee die begon ("HTML en PHP moeten gescheiden zijn") alleen maar een middel is tot een hoger doel: scheiding van presentation en business logic. Ook als je geen templating engine gebruikt, maar je views gewoon in PHP schrijft, kun je die scheiding maken. Dan heb je dus wel PHP en HTML door elkaar staan, maar alleen in je views. Uiteraard is het dan aan jou om dat wel zo te doen dat je alleen presentation logic in je views hebt staan.

[ Voor 10% gewijzigd door Compizfox op 28-12-2016 19:39 ]

Gewoon een heel grote verzameling snoertjes


  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 07-10 22:49

Douweegbertje

Wat kinderachtig.. godverdomme

Mocht ik opnieuw moeten beginnen, dan zou ik gewoon starten met de fundamentele basis dingen qua programmeren op zich zelf. Of dat nou toevallig met PHP te maken heeft, of met .NET, Java etc. dat maakt dan niet uit.
Denk dan aan boeken zoals: https://www.bol.com/nl/p/...atterns/1001004002332281/

Het gaat dan om de denkwijze, de manier van programmeren en dat soort zaken. Ik ben van mening als je gedachte goed is, dat je ook wel de geschikte syntax kan googlen voor de correcte oplossing. Echter op het moment dat je niet weet dat een "gebruiker" een "object" is (of kan zijn), die eventueel inherent is aan 'iets anders' dan ga je per definitie al fout zonder dat je iets op 'papier' hebt staan.

De volgende stap zou dan gewoon zijn om een volwassen framework te pakken. Niet alleen staat de basis dan al goed, je wordt semi geforceerd de juiste werkwijze te gebruiken.

Persoonlijk gezien is de tijd van een beetje aankloten met PHP, en een mix van HTML/CSS wel voorbij. Vroeger kon je inderdaad nog semi statisch je meuk in elkaar schoppen en je website was net zo goed als mening andere website. Dat is niet meer.

In mijn laatste projecten heb ik niet eens meer iets 'frontend' achtigs gedaan. Die frontenders zitten nu magisch te doen met LESS/SASS/GRUNT en al die andere meuk. Het enige wat ik hoef te doen is de juiste output te geven. De rest wordt wel automagisch geregeld door de frontender. Ik denk dat de scheiding tussen backend/frontend development een stukje groter is geworden. Het is niet echt meer nodig zoals je zelf in je post aangeeft om aan de slag te gaan met HTML+CSS3 om vervolgens naar PHP te gaan.

Uiteraard, het is wel -handig- dat je de basis beginselen snapt zoals divjes, open/sluiten van tags en ga zo maar door maar pak gewoon dan even bootstrap en 'boem' je hebt je frontend klaar zonder dat je zelf moeilijk hoeft te doen. Laat iemand die een -echte- frontender is lekker kloten met die media queries en pixels. Not your job.

In elk geval even terug naar het leren stuk. Als je dus een framework pakt ben je al een stap verder. Je hoeft dan eigenlijk geen queries meer te schrijven voor je database. Je kunt dan gewoon gebruik maken van de 'technologie' van het framework. Je hebt repositories die je via een makkelijke manier kunt aanspreken, zonder dat je zelf 'low level' de query in elkaar moet flansen.
Uiteindelijk is het ooit wel handig om te weten hoe je query er daadwerkelijk uit zou zien, maar om puur te leren is het fijn dat je out of the box de 'onzin' kan skippen en iets kan neerzetten wat a ) goed is en b ) enorm simpel is.

Stel we pakken symfony er even bij en dan deze pagina: http://symfony.com/doc/current/page_creation.html
Ik weet zeker dat je deze basis voor elkaar krijgt. Dat is gewoon al heel handig als dat lukt. De logica wat je vervolgens erin wilt krijgen is puur leren.

Je ziet daar toevallig een voorbeeld function staan:

code:
1
2
3
4
5
    public function numberAction()
    {
        $number = mt_rand(0, 100);

       //etc


Dat dit dan een 'random nummer' geeft moet je even voor lief nemen. Zat programmeurs die moeten googlen voor "PHP how to generate a random number". Zolang jij maar de basis klaar hebt staan (een class met een functie) dan vind je de rest ook wel vanzelf.

Vervolgens zou ik een doel voor ogen hebben. Volg gewoon eerst wat guides om bijvoorbeeld een simpele nieuws pagina te maken. Daarna zou je ook zelf een opdracht kunnen maken. Zoals ik wil een administratief systeem voor thuis hebben.
Op basis van de handleidingen en trial & error zou je je daar doorheen kunnen werken.

Als laatste stap als je wat -basis- ervaring hebt gedaan is een stage zoeken. 20 weken stage of welke periode dan ook verslaat elke andere manier dan ook om te leren. Als je een goed bedrijf weet te vinden waar je wat aardige gasten om je heen hebt die je a ) in het diepe durven te gooien en b ) je goede opdrachten geven en c ) gedegen ondersteuning geven, tja dan kom je heel rijk thuis na zo'n stage periode :)

Het belangrijkste is dat je moet vergeten dat je -alle- functionaliteiten en syntaxen van een taal -moet- weten. Echt fuck ik ben soms zo rusty dat ik zelfs een google opdracht moet doen hoe ik ook al weer een switch statement op papier krijg :Z
Het belangrijkste is dat ik -weet- dat een switch hier DE juiste oplossing is, en dat ik dit moet implementeren.

Acties:
  • +1 Henk 'm!

  • klaaz
  • Registratie: April 2000
  • Laatst online: 06-10 07:24

klaaz

it's me!

BasilFX schreef op dinsdag 27 december 2016 @ 12:15:
[...]


Ben ik het niet mee eens. Een framework gebruikt concepten en design patterns die je wel eerst moet beheersen. Als je niet weet wat een class/trait is (en kan), of wat het verschil tussen public/private/protected is, dan heeft het IMHO nog geen zin om aan een framework te beginnen. Ik heb nog geen programmeerboek gezien die een framework als rode draad gebruikt, om te leren programmeren.
En juist die concepten en design patterns hebben me erg op weg geholpen na te zijn vastgeroest in eigen methodes. Er zijn weinig tutorials en voorbeeldcodes te vinden die dit zo netjes hebben geïmplementeerd. Frameworks zijn open source en vaak goed gedocumenteerd. En als je een goede editor gebruikt zoals bijvoorbeeld Phpstorm dan is het heel gemakkelijk om die code te volgen en er van te leren.

Ik adviseer iedereen juist om Frameworks te gebruiken in het leerproces. Scheelt een hoop gekloot, je leert gelijk de juiste dingen en het levert ook nog eens snel resultaat op.

Natuurlijk kan het geen kwaad om basis concepten te leren en je te verdiepen in Mysql want ook binnen frameworks heb je ondanks een ORM soms gewoon ruwe Mysql nodig.

En wat CSS betreft, leer gelijk Less of Sass. Dat is CSS op steroids.Door het gebruik van vooral variabelen kun je jezelf heel veel werk besparen terwijl je toch CSS leert. Ook hier zijn Frameworks zoals Bootstrap een grote hulp, wederom goed gedocumenteerd en geschreven. Ik gebruik Less maar aangezien Bootstrap 4 vooralsnog alleen Sass gebruikt adviseer ik Sass.

Dat Laravel in de basis gewoon Bootstrap gebruikt is natuurlijk helemaal mooi mee genomen. _/-\o_

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
klaaz schreef op donderdag 29 december 2016 @ 09:42:
[..]

En wat CSS betreft, leer gelijk Less of Sass. Dat is CSS op steroids.Door het gebruik van vooral variabelen kun je jezelf heel veel werk besparen terwijl je toch CSS leert. Ook hier zijn Frameworks zoals Bootstrap een grote hulp, wederom goed gedocumenteerd en geschreven. Ik gebruik Less maar aangezien Bootstrap 4 vooralsnog alleen Sass gebruikt adviseer ik Sass.
Ook begonnen met Sass aan te leren, maar loop ook tegen vervelende zaken, o.a. met responsive-design. Zo lijken media-queries nog niet ingebakken, daarom doe ik nog gewoon de meeste dingen met CSS3.

Zodra Bootstrap4 uitkomt, zal ik mij toch iets meer gaan verdiepen hierin. :)

Sass schijnt te opvolger te zijn van Less, maar ieder zo zijn ding. ;)

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
Ik ga alle tips zeker meenemen, en zal ook frameworks gaan bekijken, hoewel ik toch zelf ook wil weten hoe alles werkt dus ook de sql queries en dergelijke.

Het boek Head First Design Patterns zou zeker geen slecht idee zijn al was het maar om de denkwijze enigszins te leren beheersen, er staat wel bij dat het boek dit op basis van Java doet, maar denk dat dat voor iedere taal wel ongeveer gelijk zal zijn.

Al met al wederom bedankt voor alle tips en reacties

  • klaaz
  • Registratie: April 2000
  • Laatst online: 06-10 07:24

klaaz

it's me!

HollowGamer schreef op donderdag 29 december 2016 @ 10:50:
[...]

Ook begonnen met Sass aan te leren, maar loop ook tegen vervelende zaken, o.a. met responsive-design. Zo lijken media-queries nog niet ingebakken, daarom doe ik nog gewoon de meeste dingen met CSS3.

Zodra Bootstrap4 uitkomt, zal ik mij toch iets meer gaan verdiepen hierin. :)

Sass schijnt te opvolger te zijn van Less, maar ieder zo zijn ding. ;)
Media queries werken prima in Less, ik kan me niet voorstellen dat ze niet werken in Sass. En Sass is zeker niet de opvolger van Less, het zijn alternatieven van elkaar.

Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
CH40S schreef op woensdag 28 december 2016 @ 16:52:
[...]
Hoe je het ook wend of keert, je hebt altijd iets nodig om de variabelen om te zetten naar leesbare tekst voor de gebruiker. Geen idee hoe jij anders bijvoorbeeld $auth->user->name bijvoorbeeld wil omzetten naar wat leesbaars? ;)
Dat is dus helemaal het punt niet. Het gaat erom dat je niet in de source HTML en PHP mixt. Dat een templating engine dit voor je afhandelt doet er niks aan toe. Je bijdrage heeft dus weinig nut en is daarnaast verwarrend voor beginners.

https://niels.nu


  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 09-10 19:07

Compizfox

Bait for wenchmarks

klaaz schreef op donderdag 29 december 2016 @ 09:42:
[...]

Dat Laravel in de basis gewoon Bootstrap gebruikt is natuurlijk helemaal mooi mee genomen. _/-\o_
In principe gebruikt Laravel niets. Laravel is een server-side PHP-framework, wat voor client-side HTML framework (zoals Bootstrap of Foundation) je daarbij gebruikt staat daar totaal los van :)

Gewoon een heel grote verzameling snoertjes


  • klaaz
  • Registratie: April 2000
  • Laatst online: 06-10 07:24

klaaz

it's me!

Compizfox schreef op donderdag 29 december 2016 @ 14:42:
[...]

In principe gebruikt Laravel niets. Laravel is een server-side PHP-framework, wat voor client-side HTML framework (zoals Bootstrap of Foundation) je daarbij gebruikt staat daar totaal los van :)
Je hebt gelijk, ik ben te veel verweven met het gebruik van beide ;)

Anders geredeneerd: het is zeer eenvoudig om Bootstrap te gebruiken in combinatie met Laravel, in de voorbeelden wordt daar veelvuldig gebruik van gemaakt. Ook de welkoms pagina (na de installatie van Laravel) gebruikt Bootstrap (CDN). Maar je bent idd volledig vrij om al dan niet een CSS framework te gebruiken in je Laravel projecten :)

Acties:
  • 0 Henk 'm!

  • BarôZZa
  • Registratie: Januari 2003
  • Laatst online: 15:31
Douweegbertje schreef op donderdag 29 december 2016 @ 02:44:

In mijn laatste projecten heb ik niet eens meer iets 'frontend' achtigs gedaan. Die frontenders zitten nu magisch te doen met LESS/SASS/GRUNT en al die andere meuk. Het enige wat ik hoef te doen is de juiste output te geven. De rest wordt wel automagisch geregeld door de frontender. Ik denk dat de scheiding tussen backend/frontend development een stukje groter is geworden. Het is niet echt meer nodig zoals je zelf in je post aangeeft om aan de slag te gaan met HTML+CSS3 om vervolgens naar PHP te gaan.
HTML+CSS zijn basiskennis die eigenlijk iedereen moet kennen. Of het gat groter is geworden ligt eraan hoe je het bekijkt. Als je bedoelt dat de voorkant los kan draaien van de achterkant, dan heb je gelijk. Maar in je post heb je het vooral over het designwerk, terwijl de grote ontwikkeling op de frontend is dat er juist steeds meer wordt afgehandeld. Imo is de JavaScript-kant zelfs stukken complexer dan het gros van het PHP-werk.

Helaas zie je nog vaak de gedachte dat PHP het hardcorewerk is voor de echte programmeurs en dat frontenders vaak nog veredelde photoshoppers zijn die het om kunnen zetten naar HTML. De JavaScript kant is echter juist uitermate geschikt voor PHP'ers die zich door willen ontwikkelen.
Supremecy schreef op donderdag 29 december 2016 @ 11:26:
Ik ga alle tips zeker meenemen, en zal ook frameworks gaan bekijken, hoewel ik toch zelf ook wil weten hoe alles werkt dus ook de sql queries en dergelijke.

Het boek Head First Design Patterns zou zeker geen slecht idee zijn al was het maar om de denkwijze enigszins te leren beheersen, er staat wel bij dat het boek dit op basis van Java doet, maar denk dat dat voor iedere taal wel ongeveer gelijk zal zijn.

Al met al wederom bedankt voor alle tips en reacties
Als ik jou zo hoor dan heb je er vooral baat bij om de basis te leren en de frameworks eventueel later op te pakken. Frameworks zijn vooral handig als je zo snel mogelijk een web app in elkaar wil plakken met standaard componenten zonder dat je persé hoeft te weten hoe het werkt. De enorme omvang van veel frameworks(vaak duizenden bestanden) zorgt er ook voor dat het vaak lastig wordt om te zien hoe iets nou precies werkt.

Als ik jou was zou ik simpelweg een projectje bedenken en eerst wat pagina's in HTML maken met een navigatie, wat content en de layout stijlen met CSS. Dit is namelijk simpelweg basiskennis. Je hoeft niet alle tags en css-selectors uit je hoofd te kennen, maar er wel een gevoel bij hebben hoe je het gebruikt.
tips:
- probeer de HTML5 tags te gebruiken, maakt het een stuk overzichtelijker dan eindeloos genestelde DIV-elementen zoals je nogal eens bij oudere boeken/tutorials ziet
- gebruik flexbox voor de layout
- hang CSS styling aan classes ipv aan id's
- Chrome dev tools (druk op F12) zijn ideaal om met CSS te spelen en te kijken hoe het op andere sites wordt opgelost


Vervolgens zal je zien dat elementen als de navigatie in meerdere HTML-bestanden staan en kan je dat met PHP proberen op te lossen waardoor de pagina dynamisch wordt opgebouwd uit verschillende onderdelen ipv dat je alle onderdelen in elke HTML-pagina propt. Volgende stap is gebruik te maken van database(MySQL) om content op te halen. Queries zijn absoluut niet lastig en laten juist heel eenvoudig zien hoe het werkt. Content toevoegen of aanpassen kan je ook eenvoudig doen met wat queries. Daarna kan je formulieren proberen te gebruiken.
tips:
- PHPMyAdmin is een handige databasetool om je initiële database op te zetten en de data te controleren.
- Gebruik PDO voor de MySQL verbinding
- Probeer eerst zelf de oplossingen te bedenken ipv een volledige guide te volgen, dat is namelijk waar programmeren om draait
- Bedenk en maak wat features


Dit is vooral om je kennis te laten maken met zaken als de syntax, variabelen etc. Daarnaast ben je bewust van welke stappen er allemaal worden uitgevoerd.

Als je daar comfortabel in bent en merkt dat je code meer structuur kan gebruiken, dan kan je gaan kijken naar zaken als het model-view-controller(MVC) model en design patterns. Het MVC model is het meest gebruikte architectural pattern en vrij makkelijk om zelf te bouwen. Voor design patterns raad ik deze site aan: https://sourcemaking.com/
Daar heb je ook een berg samples in PHP. Wat ik erg nice vind is dat het taalgebruik daar vlot is, de code samples zo basic mogelijk is(vaak zie je dat er allemaal overbodige dingen worden toegevoegd) én erbij staat hoe het concreet in de praktijk gebruikt kan worden. Patterns zelf zijn namelijk vrij abstract, maar het doel is om concrete zaken op een abstracte OOP manier op te lossen.

Ik raad het af om een Java-boek te pakken, aangezien dat de stof alleen maar complexer maakt (op sourcemaking hebben ze naast PHP-samples ook Java-samples en dan zie je dat er toch een aardig verschil tussen zit).

Ik vraag me ook af of boeken uberhaubt de ideale methode zijn. Het probleem met programmeren is dat je overal eindeloos diep op in kan gaan en dat je mogelijk een heleboel stof aan het leren bent die nog niet relevant is. Voor mij was het handiger om een workflow te ontwikkelen, waarbij je comfortabel wordt in het bedenken van oplossingen en leert om heel snel zaken op te zoeken op het internet.

Na het design pattern gedeelte zal je begrijpen wat OOP is en zie je wat de concrete verschillen zijn tussen de frameworks waardoor je een betere keuze kan maken (als je er al voor kiest). Daarnaast zal je veel gemakkelijker een andere taal op kunnen pakken, zoals Javascript.

Programmeurs die frameworks beheersen, maar de basis niet pik je er vaak gemakkelijk tussenuit doordat ze nodeloos complexe oplossingen aandragen voor eenvoudige zaken. Een compleet framework willen gebruiken om een webservice aan te spreken, terwijl het in een paar regels kan met XMLHttpRequest en JSON.parse

Acties:
  • 0 Henk 'm!

  • Supremecy
  • Registratie: Oktober 2013
  • Laatst online: 16-08 18:38
BarôZZa dank je voor je reactie.
Ik zit inderdaad te denken om te beginnen bij de basis en dat goed onder de knie te krijgen, dat het daarvoor niet nodig is dat ik elke HTML tag en CSS uit mijn hoofd ken dacht ik ook al wel.
Denk dat er maar heel weinig zijn die dat wel allemaal kennen.

Ik heb dan in ieder geval een basis om verder mee te werken bij de stap naar PHP en jouw idee over frameworks klopt wel met wat ik tot nu toe heb gezien ervan, heel uitgebreid en voornamelijk om snel en makkelijk bepaalde handelingen te verrichten.

De eerder genoemde boeken zijn ondertussen besteld en verwacht ik ieder moment thuis.

Ik dank iedereen voor de vele reacties en allemaal de beste wensen voor 2017!!

Acties:
  • 0 Henk 'm!

  • Hopscotch
  • Registratie: September 2015
  • Laatst online: 28-09-2021
YouTube: Lecture 0 "HTTP". Building Dynamic websites. Harvard Openc...

Dit vond ik zelf wel een mooie serie om een goede basis te leggen. Er wordt net iets meer uitgelegd dan alleen php en als je dit begrijpt is een MVC framework ook een stuk duidelijker.

Acties:
  • 0 Henk 'm!

  • Arno90
  • Registratie: Oktober 2010
  • Laatst online: 09-10 22:01
Gaaf topic! Ik zit al langere tijd met het idee om eens te leren hoe websites in elkaar zitten en zelf te maken. Ik heb echt 0,0 kennis hiervan. Ben vanmiddag begonnen met Codecademy. Best handig! Maar heb wel het idee dat de ''echte'' basis ontbreekt. Heb de eerste 3 tutorials stap voor stap gevolgd en denk soms: huh? hoe komen ze hier ineens bij. Kwestie van doen denk ik.

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 08-10 23:48

Ventieldopje

I'm not your pal, mate!

Arno90 schreef op maandag 2 januari 2017 @ 19:50:
Gaaf topic! Ik zit al langere tijd met het idee om eens te leren hoe websites in elkaar zitten en zelf te maken. Ik heb echt 0,0 kennis hiervan. Ben vanmiddag begonnen met Codecademy. Best handig! Maar heb wel het idee dat de ''echte'' basis ontbreekt. Heb de eerste 3 tutorials stap voor stap gevolgd en denk soms: huh? hoe komen ze hier ineens bij. Kwestie van doen denk ik.
Codeacademy gaat uit van een bepaalde basis inderdaad, soms maken ze best wat sprongen vind ik. Het is wel een ideale tool om je kennis te testen en hier en daar ook nieuwe dingen te leren. Voor het opdoen van kennis kun je beter tutorials/boeken raadplegen :)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8

Pagina: 1