abonnement bol.com Unibet Coolblue
  zondag 19 april 2020 @ 20:49:28 #1
187069 slacker_nl
Sicko pur sang
pi_192704152


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
In theory there is no difference between theory and practice. In practice there is.
pi_192704262
quote:
7s.gif Op zondag 19 april 2020 18:35 schreef Aether het volgende:

[..]

Meer Composer: https://getcomposer.org/
Npm van php?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zondag 19 april 2020 @ 22:11:57 #3
187069 slacker_nl
Sicko pur sang
pi_192705605
Ok, om om de cloudfare protectie heen te komen, even m'n bericht gebase64-ed. Wil je het lezen: base64 -d en je bent golden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CklrIGJlbiBlZW4gbm9vYiBvZnpvLCB3YW50IGlrIGtyaWpnIGhldCBuaWV0IHZvb3IgZWxrYWFy
IG9tIG1ldCBuYW1lc3BhY2VzIGFuZCBjbGFzc2VzIHRlIHdlcmtlbi4KCltjb2RlXQo8P3BocAoj
IHNyYy9Gb28vQmF6LnBocApuYW1lc3BhY2UgXEZvb1xCYXI7CmNsYXNzIEJheiB7CiAgICBwdWJs
aWMgJHZhciA9ICdhIGRlZmF1bHQgdmFsdWUnOwogICAgcHVibGljIGZ1bmN0aW9uIGRpc3BsYXlW
YXIoKSB7CiAgICAgICAgZWNobyAkdGhpcy0+dmFyOwogICAgfQp9Cj8+ClsvY29kZV0KCkRlIHRl
c3Q6CgpbY29kZV0KPD9waHAKCnVzZSBGb29cQmFyOwp1c2UgUEhQVW5pdFxGcmFtZXdvcmtcVGVz
dENhc2U7CgpjbGFzcyBGb29CYXJUZXN0IGV4dGVuZHMgVGVzdENhc2UgewogICAgcHVibGljIGZ1
bmN0aW9uIHRlc3RJbnN0YW50aWF0aW9uKCkgewoKICAgICAgICAkaW1wb3J0ID0gbmV3IEZvb1xC
YXJcQmF6KCk7CiAgICAgICAgLy8kdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQmF6JywgJGltcG9y
dCk7CiAgICB9Cn0KCj8+ClsvY29kZV0KClpvZHJhIGlrIHBocHVuaXQgdGVzdHMgZHJhYWk6Cgpb
Y29kZV0KMSkgRm9vQmFyVGVzdDo6dGVzdEluc3RhbnRpYXRpb24KRXJyb3I6IENsYXNzICdGb29c
QmFyXEJheicgbm90IGZvdW5kClsvY29kZV0KCkVuIGhldCBtYWFrdCBuaWV0IHVpdCBvZiBpayB1
c2UgRm9vXEJhciwgdXNlIFxGb29cQmFyIGdlYnJ1aWssIG9mIGRhdCBpayAkdGhpbmcgPSBuZXcg
Rm9vXEJhclxCYXogb2YgXEZvb1xCYXJcQmF6IG9mIGFsbGVlbiBCYXogZ2VicnVpaywgZGUgZm91
dG1lbGRpbmcgaXMgZGF0IGhldCBuaWV0IHdlcmt0LiBXaGF0IGFtIEkgbWlzc2luZz8K
In theory there is no difference between theory and practice. In practice there is.
pi_192705922
quote:
0s.gif Op zondag 19 april 2020 22:11 schreef slacker_nl het volgende:
Ok, om om de cloudfare protectie heen te komen, even m'n bericht gebase64-ed. Wil je het lezen: base64 -d en je bent golden.
[ code verwijderd ]

Use statements werken niet zoals met perl, je moet een corresponderende mappenstructuur hebben. Maw je Baz.php class moet in de src/Foo/Bar folder staan, en je moet in je test dan ook "use Foo/Bar/Baz" hebben. Een use statement is in php niks meer dan definitie van een alias, het doet vanzichzelf helemaal niks, en laadt ook geen bestanden of folders in ofzo.
  zondag 19 april 2020 @ 22:45:51 #5
187069 slacker_nl
Sicko pur sang
pi_192706220
quote:
1s.gif Op zondag 19 april 2020 22:29 schreef Farenji het volgende:

[..]

Use statements werken niet zoals met perl, je moet een corresponderende mappenstructuur hebben. Maw je Baz.php class moet in de src/Foo/Bar folder staan, en je moet in je test dan ook "use Foo/Bar/Baz" hebben. Een use statement is in php niks meer dan definitie van een alias, het doet vanzichzelf helemaal niks, en laadt ook geen bestanden of folders in ofzo.
Dit is wat ik begrepen heb:

namespace Foo => src/Foo.php, in Foo.php kan je een class neerplempen, laten we zeggen class Foodle.

Dan kan ik in een andere file, use Foo\Foodle; doen en dan kan ik $thing = new Foo\Foodle(); zeggen en dan moet het werken, right?
In theory there is no difference between theory and practice. In practice there is.
pi_192706675
quote:
0s.gif Op zondag 19 april 2020 22:45 schreef slacker_nl het volgende:

[..]

Dit is wat ik begrepen heb:

namespace Foo => src/Foo.php, in Foo.php kan je een class neerplempen, laten we zeggen class Foodle.

Dan kan ik in een andere file, use Foo\Foodle; doen en dan kan ik $thing = new Foo\Foodle(); zeggen en dan moet het werken, right?
Nope, de conventie is 1 class per file met dezelfde naam als de file. Dus src/Snarf/Gronk.php met daarin class Gronk en namespace Snarf. In andere files doe je dan "use Snarf/Gronk;" en dan "$gronk = new Gronk;", of zonder use stmt: "new \Snarf\Gronk;".

Als je autoloading gebruikt (zoals met composer) moet je de psr-4 standaard volgen anders werkt het niet.

https://www.php-fig.org/psr/psr-4/
  zondag 19 april 2020 @ 23:17:46 #7
187069 slacker_nl
Sicko pur sang
pi_192706867
quote:
1s.gif Op zondag 19 april 2020 23:06 schreef Farenji het volgende:

[..]

Nope, de conventie is 1 class per file met dezelfde naam als de file. Dus src/Snarf/Gronk.php met daarin class Gronk en namespace Snarf. In andere files doe je dan "use Snarf/Gronk;" en dan "$gronk = new Gronk;", of zonder use stmt: "new \Snarf\Gronk;".

Als je autoloading gebruikt (zoals met composer) moet je de psr-4 standaard volgen anders werkt het niet.

https://www.php-fig.org/psr/psr-4/
8)7 Bij gebrek aan een smiley waar het hoofd ontploft. Die path voorbeelden onder aan de pagina zijn ook mind is blown verhaal.

Ik denk dat ik het snap, dus als ik in de composer.json het volgende zeg:

1{ "autoload" : { "psr-4" : {"//Foo//" : "src" }}}

Dan is de file src/Bar.php, met namespace Foo, eigenlijk 'Foo/Bar'? En in die file heb ik dan ook een class die Bar heet. Ja? Nee, maybe?
In theory there is no difference between theory and practice. In practice there is.
pi_192707133
quote:
0s.gif Op zondag 19 april 2020 23:17 schreef slacker_nl het volgende:

[..]

8)7 Bij gebrek aan een smiley waar het hoofd ontploft. Die path voorbeelden onder aan de pagina zijn ook mind is blown verhaal.

Ik denk dat ik het snap, dus als ik in de composer.json het volgende zeg:
[ code verwijderd ]

Dan is de file src/Bar.php, met namespace Foo, eigenlijk 'Foo/Bar'? En in die file heb ik dan ook een class die Bar heet. Ja? Nee, maybe?
Ja dat klopt.
  zondag 19 april 2020 @ 23:44:47 #9
187069 slacker_nl
Sicko pur sang
pi_192707214
Ok, nu m'n test nog overtuigen dat het klopt wat ik denk. Want dat blijft het niet doen....
In theory there is no difference between theory and practice. In practice there is.
  maandag 20 april 2020 @ 02:12:35 #10
187069 slacker_nl
Sicko pur sang
pi_192707889
Ik heb het aan de praat, uiteindelijk zat er iets fouts in de composer.json, door 1 van mijn uitprobeersels nadat ik dacht dat ik het snaptte. Maar de psr-4 statement met //foo// is dus FOUT. Dat breekt shit op manieren waar je moeder van gaat schreeuwen. Ik heb het inmiddels in een cookiecutter template gegooid zodat ik deze boilerplate nooit meer kan vergeten.

Bedankt voor de hulp. Ik ga nu even een beetje chillen, want ik ben klaar met dit.
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 6 oktober 2020 @ 13:49:48 #11
118585 Crutch
Filantroop || Taalzwengel
pi_195464556
Bijna PHP8
Je moeder is een hamster
pi_195544006
quote:
10s.gif Op dinsdag 6 oktober 2020 13:49 schreef Crutch het volgende:
Bijna PHP8
JIT-compilatie *O* *O* *O*
pi_195544034
quote:
16s.gif Op zondag 19 april 2020 20:54 schreef FlippingCoin het volgende:

[..]

Npm van php?
Het valt me op dat ik en andere PHP'ers altijd spontaan jeuk krijgen van NPM. :r
pi_195544133
quote:
7s.gif Op zaterdag 10 oktober 2020 11:44 schreef DevFreak het volgende:

[..]

Het valt me op dat ik en andere PHP'ers altijd spontaan jeuk krijgen van NPM. :r
Waarom?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_195544151
quote:
16s.gif Op zaterdag 10 oktober 2020 11:50 schreef FlippingCoin het volgende:

[..]

Waarom?
Composer werkt gewoon veel prettiger. Is even geleden, maar i had er destijds ruzie mee.
pi_195544285
quote:
7s.gif Op zaterdag 10 oktober 2020 11:51 schreef DevFreak het volgende:

[..]

Composer werkt gewoon veel prettiger. Is even geleden, maar i had er destijds ruzie mee.
Hm vind zowel npm als yarn fijner werken dan composer juist. :+

Vind sowieso het PHP ecosysteem altijd zo ouderwets aanvoelen vergeleken bij dat van JS. Maar goed kan komen doordat ik recent weer met PHP moet werken.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_195544422
quote:
7s.gif Op zaterdag 10 oktober 2020 11:44 schreef DevFreak het volgende:

[..]

Het valt me op dat ik en andere PHP'ers altijd spontaan jeuk krijgen van NPM. :r
Terecht, wat een ellendige cluster fuck is dat zeg. Sowieso dat hele js ecosysteem is dikke ellende. Honderd miljoen miljard packages die vaak bestaan uit triviale oneliners omdat js nog steeds geen fatsoenlijke core libs heeft.
pi_195544637
quote:
1s.gif Op zaterdag 10 oktober 2020 12:07 schreef Farenji het volgende:

[..]

Terecht, wat een ellendige cluster fuck is dat zeg. Sowieso dat hele js ecosysteem is dikke ellende. Honderd miljoen miljard packages die vaak bestaan uit triviale oneliners omdat js nog steeds geen fatsoenlijke core libs heeft.
Klopt, ik moet ook echt helemaal niks van dat JS hebben. Het is al bijzonder lastig om de autoloading functionerend te krijgen... :r

Wat ze bij Google doen met V8 moeten ze lekker zelf weten, maar ik kijk lekker de andere kant op.

Al moet ik zeggen dat NPM binnen .NET best redelijk werkt zolang je het niet verneukt. :+
pi_195544685
quote:
7s.gif Op zaterdag 10 oktober 2020 12:17 schreef DevFreak het volgende:

[..]

Klopt, ik moet ook echt helemaal niks van dat JS hebben. Het is al bijzonder lastig om de autoloading functionerend te krijgen... :r

Wat ze bij Google doen met V8 moeten ze lekker zelf weten, maar ik kijk lekker de andere kant op.

Al moet ik zeggen dat NPM binnen .NET best redelijk werkt zolang je het niet verneukt. :+
Autoloading?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_195544808
quote:
1s.gif Op zaterdag 10 oktober 2020 12:07 schreef Farenji het volgende:

[..]

Terecht, wat een ellendige cluster fuck is dat zeg. Sowieso dat hele js ecosysteem is dikke ellende. Honderd miljoen miljard packages die vaak bestaan uit triviale oneliners omdat js nog steeds geen fatsoenlijke core libs heeft.
De hoeveelheid packages is wel een punt bij javascript ja.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_195546657
quote:
16s.gif Op zaterdag 10 oktober 2020 12:00 schreef FlippingCoin het volgende:

[..]

Hm vind zowel npm als yarn fijner werken dan composer juist. :+

Vind sowieso het PHP ecosysteem altijd zo ouderwets aanvoelen vergeleken bij dat van JS. Maar goed kan komen doordat ik recent weer met PHP moet werken.
De taal op zich is prima, maar inderdaad, veel code in het ecosysteem moet vaak backwards-compatible zijn. Vandaar dat de libraries soms wat verouderd aanvoelen. Maar functioneel werkt het prima.

Het is alleen heel zuur dat je een externe library moet gebruiken voor high-performance computing (async, nieuwe threads).

[ Bericht 6% gewijzigd door #ANONIEM op 10-10-2020 14:31:56 ]
pi_195546703
Een vriend van me wees er net op dat ik met wat toevoegingen zomaar een enterprise-grade applicatie in handen zou kunnen hebben. :P

Maar wel GNU, ik ga denk ik voor de strengste open-source licentie ga die er is. Ik wil niet dat het in handen komt van bedrijven. Bedrijven zijn evil, en dat past niet bij Project 'Isaeus'.

[ Bericht 13% gewijzigd door #ANONIEM op 10-10-2020 14:34:45 ]
pi_195547125
quote:
7s.gif Op zaterdag 10 oktober 2020 14:30 schreef DevFreak het volgende:

[..]

De taal op zich is prima, maar inderdaad, veel code in het ecosysteem moet vaak backwards-compatible zijn. Vandaar dat de libraries soms wat verouderd aanvoelen. Maar functioneel werkt het prima.

Het is alleen heel zuur dat je een externe library moet gebruiken voor high-performance computing (async, nieuwe threads).
Asynchroniteit is een beetje raar in javascript, het is een synchrone taal die taken door de environment uit kan laten voeren. Je hebt wel await en ze promises wat best fijn werkt, hiernaast zijn ze bezig met wat reactive elementen die nu in rxjs zitten in de taal te trekken. Het probleem is dat je ook oudere browsers wilt ondersteunen en daar heb je polyfils voor nodig. Ik weet niet per se of dat met andere talen anders zou zijn.

Wat ik erg fijn vind aan javascript zijn de array functions o.a., dat doen niet veel talen beter en dit gebruik ik erg veel. Wel in Typescript dan, javascript gebruik ik al heel lang niet meer.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_195547158
quote:
16s.gif Op zaterdag 10 oktober 2020 14:54 schreef FlippingCoin het volgende:

[..]

Asynchroniteit is een beetje raar in javascript, het is een synchrone taal die taken door de environment uit kan laten voeren. Je hebt wel await en ze promises wat best fijn werkt, hiernaast zijn ze bezig met wat reactive elementen die nu in rxjs zitten in de taal te trekken. Het probleem is dat je ook oudere browsers wilt ondersteunen en daar heb je polyfils voor nodig. Ik weet niet per se of dat met andere talen anders zou zijn.
Ik moest even opzoeken wat het is :D
pi_195547429
quote:
7s.gif Op zaterdag 10 oktober 2020 14:30 schreef DevFreak het volgende:

[..]

De taal op zich is prima, maar inderdaad, veel code in het ecosysteem moet vaak backwards-compatible zijn. Vandaar dat de libraries soms wat verouderd aanvoelen. Maar functioneel werkt het prima.

Het is alleen heel zuur dat je een externe library moet gebruiken voor high-performance computing (async, nieuwe threads).
Ik neem toch aan dat je geen high performance computing in PHP probeert te doen. :P
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
abonnement bol.com Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')