FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies #112
slacker_nlmaandag 16 december 2013 @ 15:27
php.jpg


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

Succes heren met het volgende deeltje!
rekenwondermaandag 16 december 2013 @ 16:39
Om er maar eens eentje in te gooien: waarom zie ik deze topics zoveel gebruik van mysql_* of mysqli_* en zo weinig van PDO?
#ANONIEMmaandag 16 december 2013 @ 17:13
quote:
0s.gif Op maandag 16 december 2013 16:39 schreef rekenwonder het volgende:
Om er maar eens eentje in te gooien: waarom zie ik deze topics zoveel gebruik van mysql_* of mysqli_* en zo weinig van PDO?
Vind het prettiger in gebruik dan mysqli in OOP.
Ben net begonnen met OOP (en PHP eigenlijk ook lol).

[ Bericht 1% gewijzigd door #ANONIEM op 16-12-2013 17:13:42 ]
Baghdaddymaandag 16 december 2013 @ 17:24
quote:
0s.gif Op maandag 16 december 2013 16:39 schreef rekenwonder het volgende:
Om er maar eens eentje in te gooien: waarom zie ik deze topics zoveel gebruik van mysql_* of mysqli_* en zo weinig van PDO?
Voor een beginner lijkt het me op zich wel goed om te beginnen met mysql_( i ) en daarna PDO.
KomtTijd...maandag 16 december 2013 @ 17:25
quote:
1s.gif Op maandag 16 december 2013 17:24 schreef Baghdaddy het volgende:

[..]

Voor een beginner lijkt het me op zich wel goed om te beginnen met mysql_(i) en daarna PDO.
Mij niet. Alleen maar nadelen.
#ANONIEMmaandag 16 december 2013 @ 17:31
quote:
1s.gif Op maandag 16 december 2013 17:24 schreef Baghdaddy het volgende:
Voor een beginner lijkt het me op zich wel goed om te beginnen met mysql_( i ) en daarna PDO.
Hoezo?
Baghdaddymaandag 16 december 2013 @ 17:43
quote:
0s.gif Op maandag 16 december 2013 17:31 schreef RetRy32 het volgende:

[..]

Hoezo?
Nee ik trek mijn bewering terug. In mijn geval vond ik het handig om kennis te maken met PHP en MySQL m.b.v. mysql_i omdat het mij wat simpeler leek om te begrijpen. Als ik terugkijk had ik PDO liever eerder ontdekt :P.
#ANONIEMmaandag 16 december 2013 @ 18:17
quote:
1s.gif Op maandag 16 december 2013 17:24 schreef Baghdaddy het volgende:

[..]

Voor een beginner lijkt het me op zich wel goed om te beginnen met mysql_( i ) en daarna PDO.
haal die haakjes eens weg.
slacker_nlmaandag 16 december 2013 @ 18:36
quote:
1s.gif Op maandag 16 december 2013 17:24 schreef Baghdaddy het volgende:

[..]

Voor een beginner lijkt het me op zich wel goed om te beginnen met mysql_( i ) en daarna PDO.
Onzinreden. Gelijk met PDO beginnen. Leer je het in een keer goed, kan je ook makkelijk meenemen naar andere talen waar ze soortgelijke dingen hebben zoal DBI in Perl.
#ANONIEMmaandag 16 december 2013 @ 19:26
http://www.phpeveryday.co(...)O-Tutorial-P842.html

Beste instructies voor PDO op het net.
Lightmaandag 16 december 2013 @ 20:54
quote:
0s.gif Op maandag 16 december 2013 16:39 schreef rekenwonder het volgende:
Om er maar eens eentje in te gooien: waarom zie ik deze topics zoveel gebruik van mysql_* of mysqli_* en zo weinig van PDO?
De mysql_* functies moet je sowieso niet meer gebruiken (tenzij je een fix gaat doen in bestaande code die van die functies gebruik maakt). Die zijn officieel deprecated en gaan er in de toekomst helemaal uit.
#ANONIEMmaandag 16 december 2013 @ 23:02
quote:
0s.gif Op maandag 16 december 2013 20:54 schreef Light het volgende:

[..]

De mysql_* functies moet je sowieso niet meer gebruiken (tenzij je een fix gaat doen in bestaande code die van die functies gebruik maakt). Die zijn officieel deprecated en gaan er in de toekomst helemaal uit.
Er zit ook helemaal geen voordeel aan, en mysqli is niet ingewikkelder ofzo.
Lightmaandag 16 december 2013 @ 23:04
quote:
1s.gif Op maandag 16 december 2013 23:02 schreef RetRy32 het volgende:

[..]

Er zit ook helemaal geen voordeel aan, en mysqli is niet ingewikkelder ofzo.
True, maar ik had het er specifiek over dat je niet mysql_ moet gebruiken. mysqli_ kan prima, maar ik zou PDO aanraden.
Devolutiondinsdag 17 december 2013 @ 10:16
quote:
1s.gif Op maandag 16 december 2013 23:02 schreef RetRy32 het volgende:

[..]

Er zit ook helemaal geen voordeel aan, en mysqli is niet ingewikkelder ofzo.
Wel als je geen OOP ervaring hebt.
Darkomendinsdag 17 december 2013 @ 10:41
Dan word het eens tijd om OOP ervaring op te doen.
KomtTijd...dinsdag 17 december 2013 @ 10:49
quote:
12s.gif Op dinsdag 17 december 2013 10:16 schreef Devolution het volgende:

[..]

Wel als je geen OOP ervaring hebt.
Ook dan is PDO makkelijker. De syntax is prima in procedurele code te verwerken zonder enige kennis van OOP.
#ANONIEMdinsdag 17 december 2013 @ 10:53
quote:
14s.gif Op dinsdag 17 december 2013 10:49 schreef KomtTijd... het volgende:

[..]

Ook dan is PDO makkelijker. De syntax is prima in procedurele code te verwerken zonder enige kennis van OOP.
Klopt.
KomtTijd...dinsdag 17 december 2013 @ 10:57
Heck, misschien is het zelfs een goede eerste stap voor mensen die procedureel programmeren om vast wat inzicht te krijgen in OOP.

Heeft voor mij ook goed gewerkt, dat ik in het verleden wat gekloot heb met DateTime-objecten maakt dat ik nu het OOP programmeren toch wat makkelijker oppik.
DenSvrijdag 3 januari 2014 @ 22:27
Ik heb een probleempje!

Het volgende heb ik op dit moment:

1
2
3
4
<form  method="request" action="http://www.xxx.nl/cms/requests/request.php?func=Search&" id="searchform"> 
            <h1>Artiest</h1>
            <input type="text" name="searchtext" />
</form>

Het bovenstaande moet naar http://www.xxx.nl/cms/req(...)h&searchtext=artiest gaan, maar dat doet ie niet :(
Hij maakt er nu dit van: http://www.xxx.nl/cms/requests/request.php?searchtext=Misss

Dus het mist ?func=Search&

Iemand hier die kan helpen? :)
ralfievrijdag 3 januari 2014 @ 22:30
1<input type="hidden" name="func" value="Search" />
KomtTijd...vrijdag 3 januari 2014 @ 22:36
Volgens mij bestaat er geen request methode genaamt 'request'. En je zult idd een hidden input moeten gebruiken om extra variablen mee te geven aan een get request.
DenSvrijdag 3 januari 2014 @ 22:41
quote:
0s.gif Op vrijdag 3 januari 2014 22:30 schreef ralfie het volgende:

[ code verwijderd ]

Thanks, werkt! :D
boem-dikkievrijdag 3 januari 2014 @ 22:49
quote:
0s.gif Op vrijdag 3 januari 2014 22:27 schreef DenS het volgende:
Ik heb een probleempje!

Het volgende heb ik op dit moment:
[ code verwijderd ]

Het bovenstaande moet naar http://www.xxx.nl/cms/req(...)h&searchtext=artiest gaan, maar dat doet ie niet :(
Hij maakt er nu dit van: http://www.xxx.nl/cms/requests/request.php?searchtext=Misss

Dus het mist ?func=Search&

Iemand hier die kan helpen? :)
Waarom werk je via get variabelen in je URL om een zoek functie uit te voeren? Je kunt toch sowieso gewoon in je cms/request/search.php?query=artiestnaam doen en aan de achterkant uitzoeken of er op een artiest moet worden gezocht of een combinatie van variabelen?
DenSvrijdag 3 januari 2014 @ 22:51
quote:
14s.gif Op vrijdag 3 januari 2014 22:49 schreef boem-dikkie het volgende:

[..]

Waarom werk je via get variabelen in je URL om een zoek functie uit te voeren? Je kunt toch sowieso gewoon in je cms/request/search.php?query=artiestnaam doen en aan de achterkant uitzoeken of er op een artiest moet worden gezocht of een combinatie van variabelen?
Gehele map /request/ wordt aangeleverd door de software maker van onze playout systeem. Dus wil er niet teveel in veranderen binnen die code vanwege updates etc. Voor nu de makkelijkste optie.
Chandlerzaterdag 4 januari 2014 @ 03:02
quote:
0s.gif Op vrijdag 3 januari 2014 22:51 schreef DenS het volgende:

[..]

Gehele map /request/ wordt aangeleverd door de software maker van onze playout systeem. Dus wil er niet teveel in veranderen binnen die code vanwege updates etc. Voor nu de makkelijkste optie.
Daarom houdt je altijd een UPDATE log bij ;) de updates die je zelf maakt kunnen in het geval van een template update zo weer aangepast worden.
rekenwonderzaterdag 4 januari 2014 @ 08:49
quote:
0s.gif Op zaterdag 4 januari 2014 03:02 schreef Chandler het volgende:

[..]

Daarom houdt je altijd een UPDATE log bij ;) de updates die je zelf maakt kunnen in het geval van een template update zo weer aangepast worden.
Protip: patch-files.
Chandlerzaterdag 4 januari 2014 @ 09:17
quote:
0s.gif Op zaterdag 4 januari 2014 08:49 schreef rekenwonder het volgende:

[..]

Protip: patch-files.
Juist. Url? verwijzing? :+
slacker_nlzaterdag 4 januari 2014 @ 12:20
quote:
0s.gif Op zaterdag 4 januari 2014 09:17 schreef Chandler het volgende:

[..]

Juist. Url? verwijzing? :+
http://lmgtfy.com/?q=how+to+create+a+patch

man diff, man patch

Overigens zou ik de wijzigingen doorvoeren in de code en die opsturen naar de leverancier in een patch file zodat zij de patch kunnen toevoegen aan hun source tree en daarna heb je minder problemen tijdens een upgrade. Zo werktte ik altijd met interne leveranciers (onze developers), wij de engineers wilden hun code soms aanpassen vanwege bugs of issues en ze kregen dan de patch terug zodat een volgende release de wijziging bevatte en niemand meer de code hoefde aan te passen.
Skunk-mmaandag 6 januari 2014 @ 17:34
Hallo,

Ik wil urls decoden met rawurldecode();

probleem is als ik em echo werkt het prima, maar als ik em in een mysql tabel zet werkt het niet, als ik em bij phpbb in zo'n php bestand zet en dan in html bestand oproep met {BLABLA} werkt het niet, om de een of andere reden blijft ie dan gewoon geencode..

Iemand?
KomtTijd...maandag 6 januari 2014 @ 17:41
eh. Sterkte?
zoemmaandag 6 januari 2014 @ 17:47
Ik volg het niet helemaal. De functie rawurldecode() geeft een string terug. Wat wil je er mee kunnen doen? Want ik snap niet wat MySQL en/of html hiermee te maken heeft :?

[ Bericht 0% gewijzigd door zoem op 06-01-2014 18:03:13 ]
Skunk-mmaandag 6 januari 2014 @ 17:59
quote:
0s.gif Op maandag 6 januari 2014 17:47 schreef zoem het volgende:
Ik volg het niet helemaal. De functie rawurlencode() geeft een string terug. Wat wil je er mee kunnen doen? Want ik snap niet wat MySQL en/of html hiermee te maken heeft :?
Ik doe:
$string = rawurldecode($string);
echo $string;

Werkt krijg de string gedecode terug..

mysql_query("UPDATE table SET veld='$string'");

In mysql staat de string nog steeds geencode..

Ik geef in phpbb dit mee aan het template bestand:
$template->assign_vars(array(
'STRING' => $string,
));

in template bestand zet ik em er zo in {STRING}
Het resultaat is een geencode string.. dus rawurldecode heeft weer niks gedaan. terwijl dat met echo wel het geval is.
Ja ik begrijp er ook niks van anders had ik het hier niet gevraagd..

EDIT: ah.. als je em echoed word ie uberhaupt gedecode.. dus waarschijnlijk doet rawurldecode uberhaupt niks.. kzal wel een andere functie nodig hebben ofzo..

[ Bericht 3% gewijzigd door Skunk-m op 06-01-2014 18:05:58 ]
KomtTijd...maandag 6 januari 2014 @ 18:08
PHP Echo doet niets decoden hoor. Wellicht doet je browser dat als je de output in een internetbrowser bekijkt.

Verder snap ik het ook niet, lijkt me dat je ergens een typfout of volorde fout maakt ofzo. Debuggen dus.
zoemmaandag 6 januari 2014 @ 18:08
quote:
0s.gif Op maandag 6 januari 2014 17:59 schreef Skunk-m het volgende:
Ja ik begrijp er ook niks van anders had ik het hier niet gevraagd..
Geeft niet, alleen je verhaal was ietwat wazig ;)
quote:
EDIT: ah.. als je em echoed word ie uberhaupt gedecode.. dus waarschijnlijk doet rawurldecode uberhaupt niks.. kzal wel een andere functie nodig hebben ofzo..
Ah kijk, dan heb je iig een aanknopingspunt. Je kunt beter var_dump() gebruiken ipv echo, omdat dan de weergave (beter) overeenkomt met de inhoud van je variabele en kijk bij voorkeur naar de bron van je pagina ipv de pagina zelf.
Skunk-mmaandag 6 januari 2014 @ 18:12
quote:
Ah kijk, dan heb je iig een aanknopingspunt. Je kunt beter var_dump() gebruiken ipv echo, omdat dan de weergave (beter) overeenkomt met de inhoud van je variabele en kijk bij voorkeur naar de bron van je pagina ipv de pagina zelf.
Ja ik had em al tussen script tags gezet en daarna in de bron gekeken..
schijnbaar was ie gehtmlentitied nu heb k html_entity_decode() gebruikt en dat werkt.

iig bedankt
KomtTijd...maandag 6 januari 2014 @ 18:23
quote:
0s.gif Op maandag 6 januari 2014 18:12 schreef Skunk-m het volgende:

[..]

Ja ik had em al tussen script tags gezet en daarna in de bron gekeken..
schijnbaar was ie gehtmlentitied nu heb k html_entity_decode() gebruikt en dat werkt.

iig bedankt
HTML <script> tags bedoel je? Dat is een manier om javascript code te embedden, heb je ook niets aan. <pre> tags kunnen soms nuttig zijn, maar om je rauwe output te zien moet je altijd gewoon de paginabron bekijken inderdaad.

iig bug gevonden dus ^O^

Ik moet het toch even vragen: Die mysql_ functie was alleen voor het voorbeeld toch hoop ik?
Skunk-mmaandag 6 januari 2014 @ 18:34
quote:
HTML <script> tags bedoel je? Dat is een manier om javascript code te embedden, heb je ook niets aan. <pre> tags kunnen soms nuttig zijn, maar om je rauwe output te zien moet je altijd gewoon de paginabron bekijken inderdaad.

iig bug gevonden dus ^O^

Ik moet het toch even vragen: Die mysql_ functie was alleen voor het voorbeeld toch hoop ik?
oja in de bron kijken had misschien ook gekunt, maar ik keek bij element bekijken gebeuren in chrome zeg maar en daar was het ook gewoon gedecode, maar ik moest bij phpbb in een javascript code hebben en daar stond ie wel verkeerd, dus had ik bij mn testbestandje ook maar even script tags eromheen gezet.. maar het is iig opgelost ja.
KomtTijd...donderdag 9 januari 2014 @ 01:15
Bheheh.
quote:
delete

delete — See unlink() or unset()

Description

This is a dummy manual entry to satisfy those people who are looking for unlink() or unset() in the wrong place.
http://www.php.net/manual/en/function.delete.php
bondagedonderdag 9 januari 2014 @ 01:31
quote:
_O_
zoemdonderdag 9 januari 2014 @ 01:36
Waarom noemt php het dan ook unlink ipv delete :')
Chandlerdonderdag 9 januari 2014 @ 03:07
quote:
0s.gif Op donderdag 9 januari 2014 01:36 schreef zoem het volgende:
Waarom noemt php het dan ook unlink ipv delete :')
Volgens mij staat dat aardig beschreven, omdat de unlink functie ook in C gebruikt wordt... oh en delete oftewel del is een 'dos' commando :+

Maar dit zal noobs helpen (hoop ik)
#ANONIEMdonderdag 9 januari 2014 @ 03:18
quote:
0s.gif Op donderdag 9 januari 2014 01:36 schreef zoem het volgende:
Waarom noemt php het dan ook unlink ipv delete :')
Omdat delete() ook voor directory's is (dan roept die eigenlijk rmdir() op) unlink is enkel voor files.

http://stackoverflow.com/a/15124886
slacker_nldonderdag 9 januari 2014 @ 10:00
quote:
0s.gif Op donderdag 9 januari 2014 01:36 schreef zoem het volgende:
Waarom noemt php het dan ook unlink ipv delete :')
Omdat je de inode pointer breekt en dus de link verbreekt. Je verwijderd de file niet, maar de link naar de file.

http://perldoc.perl.org/functions/unlink.html
http://linux.die.net/man/2/unlink
zoemdonderdag 9 januari 2014 @ 12:49
Mijn opmerking was eigenlijk meer een sneer naar php. Ik vond het wel ironisch dat de manual poogt grappig te zijn door te impliceren dat de php-functieset logisch in elkaar zit. Ze jatten functies en conventies van verschillende talen bij elkaar - waaronder inderdaad van C.
quote:
6s.gif Op donderdag 9 januari 2014 03:07 schreef Chandler het volgende:

[..]

Volgens mij staat dat aardig beschreven, omdat de unlink functie ook in C gebruikt wordt... oh en delete oftewel del is een 'dos' commando :+

Maar dit zal noobs helpen (hoop ik)
Unlink() is een Posix-functie en is een variant op de C-functie remove(). Over het algemeen zijn C runtime functies zoals remove() meer portable dan Posix-functies. Beide functies bestaan overigens in de C runtime headers in Windows. Dat del een dos-commando is en unlink een Linux commandlinefunctie heeft er verder weinig mee te maken, omdat dat system utilities zijn en geen C/Posix-functies.
quote:
1s.gif Op donderdag 9 januari 2014 03:18 schreef d4v1d het volgende:

[..]

Omdat delete() ook voor directory's is (dan roept die eigenlijk rmdir() op) unlink is enkel voor files.

http://stackoverflow.com/a/15124886
Het klopt inderdaad dat unlink() (en ook remove()) alleen bestanden kunnen 'verwijderen'. System utilities als del (delete zit niet in ms-dos) hebben weinig te maken met de C/Posix-functies.
quote:
0s.gif Op donderdag 9 januari 2014 10:00 schreef slacker_nl het volgende:

[..]

Omdat je de inode pointer breekt en dus de link verbreekt. Je verwijderd de file niet, maar de link naar de file.

http://perldoc.perl.org/functions/unlink.html
http://linux.die.net/man/2/unlink
Klopt, maar in ruime zin mag het bestand na unlink niet meer (op normale wijze) vindbaar zijn. Voor een taal als php maakt het niet veel uit of het beestje nu unlink, delete, erase of remove heet, omdat het enige doel het 'verwijderen' van het bestand is. Hoe dat low-level gebeurt is voor een taal als php niet interessant, zolang het maar portable is en een consistent gedrag vertoont tussen de verschillende besturingssystemen. Zoals ik hierboven al zei kunnen ze dan beter focussen op een consiste naming convention ipv bij verschillende talen wat functienamen bij elkaar te grabbelen.
slacker_nldonderdag 9 januari 2014 @ 13:15
quote:
0s.gif Op donderdag 9 januari 2014 12:49 schreef zoem het volgende:
Klopt, maar in ruime zin mag het bestand na unlink niet meer (op normale wijze) vindbaar zijn. Voor een taal als php maakt het niet veel uit of het beestje nu unlink, delete, erase of remove heet, omdat het enige doel het 'verwijderen' van het bestand is. Hoe dat low-level gebeurt is voor een taal als php niet interessant, zolang het maar portable is en een consistent gedrag vertoont tussen de verschillende besturingssystemen. Zoals ik hierboven al zei kunnen ze dan beter focussen op een consiste naming convention ipv bij verschillende talen wat functienamen bij elkaar te grabbelen.
PHP is gebasseerd op Perl, en in perl heet het unlink en Perl is weer in C geschreven, waar het ook unlink is. Dus de naming convention is correct.
Ik ben het 100% met je eens dat ze in PHP een betere conventie moeten gaan hanteren, idem voor needle-haystack conventies, maar om dan unlink als voorbeeld te nemen is ridicuul.
KomtTijd...donderdag 9 januari 2014 @ 13:18
Ze zouden voor PHP6 of 7 gewoon een goeie naming convention moeten ontwerpen, en al die duizenden aliases de deur uit doen.
#ANONIEMdonderdag 9 januari 2014 @ 13:19
quote:
14s.gif Op donderdag 9 januari 2014 13:18 schreef KomtTijd... het volgende:
Ze zouden voor PHP6 of 7 gewoon een goeie naming convention moeten ontwerpen, en al die duizenden aliases de deur uit doen.
eensch.
n8ndonderdag 9 januari 2014 @ 13:29
Ik heb een class::functie() die een return geeft van een array of null. Nu werkt het alleen niet als ik if (empty(class::functie()) doe. Waarom is dat? ;(
zoemdonderdag 9 januari 2014 @ 13:42
quote:
0s.gif Op donderdag 9 januari 2014 13:15 schreef slacker_nl het volgende:

[..]

PHP is gebasseerd op Perl, en in perl heet het unlink en Perl is weer in C geschreven, waar het ook unlink is. Dus de naming convention is correct.
Dat is historisch zo gegroeid inderdaad, maar dat wil niet zeggen dat de naming convention in php als geheel klopt (waar het me om ging). Ik denk dat iedereen deze inmiddels wel kent: PHP: a fractal of bad design
quote:
Ik ben het 100% met je eens dat ze in PHP een betere conventie moeten gaan hanteren, idem voor needle-haystack conventies, maar om dan unlink als voorbeeld te nemen is ridicuul.
Dan heb je mijn eerste alinea niet gelezen ;) Het ging me niet om unlink, maar om de manualuitleg onder het kopje 'delete'. Wat ik in reactie op jou er even uit wilde lichten is dat de low-level implementatie van een deletiefunctie in een high-level taal als php geen rol mag spelen, zolang het maar doet wat het moet doen: een bestand verwijderen.
quote:
0s.gif Op donderdag 9 januari 2014 12:49 schreef zoem het volgende:
Mijn opmerking was eigenlijk meer een sneer naar php. Ik vond het wel ironisch dat de manual poogt grappig te zijn door te impliceren dat de php-functieset logisch in elkaar zit. Ze jatten functies en conventies van verschillende talen bij elkaar - waaronder inderdaad van C.
Crutchdonderdag 9 januari 2014 @ 13:55
Weet iemand nog goede Project Management Software die ik lokaal kan draaien (web based)?

Open source het liefst.

Ik heb natuurlijk het een en ander uitgezocht, maar net niet echt gevonden wat ik zoek.

Wat helemaal tof zou zijn is iets als activecollab
Maar daar moet je voor betalen.
Diaboxdonderdag 9 januari 2014 @ 14:03
quote:
1s.gif Op donderdag 9 januari 2014 13:29 schreef n8n het volgende:
Ik heb een class::functie() die een return geeft van een array of null. Nu werkt het alleen niet als ik if (empty(class::functie()) doe. Waarom is dat? ;(
Wat werkt er precies niet?
zoemdonderdag 9 januari 2014 @ 14:07
quote:
1s.gif Op donderdag 9 januari 2014 13:29 schreef n8n het volgende:
Ik heb een class::functie() die een return geeft van een array of null. Nu werkt het alleen niet als ik if (empty(class::functie()) doe. Waarom is dat? ;(
Zowel null als een lege array zijn empty. Kun je wat meer info geven?
Diaboxdonderdag 9 januari 2014 @ 14:08
Misschien overigens ook handiger om altijd een array te returnen i.p.v. ook de mogelijkheid tot null, zit je met een mixed type die waarschijnlijk niet nodig is in jouw situatie.
ViPeRIIdonderdag 9 januari 2014 @ 14:30
quote van php.net

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.

oftewel, was je wil wordt niet ondersteund.
Dan zou ik dus Diabox zijn advies opvolgen, of false retouneren of als het echt nodig is is_null() te gebruiken ipv empty.
Skunk-mdonderdag 9 januari 2014 @ 19:50
Als je bij phpbb zelf een pagina hebt gemaakt waar je phpbb code hebt geinclude zodat je kan checken of de gebruiker is ingelogd etc.
kun je er voor zorgen dat die pagina niet meetelt in e wie is er online meuk.. want het gaat over een pagina die regelmatig met ajax word opgeroepen en als je dan de site open laat staan en niks doet blijf je online staan.
n8nvrijdag 10 januari 2014 @ 14:34
quote:
0s.gif Op donderdag 9 januari 2014 14:03 schreef Diabox het volgende:

[..]

Wat werkt er precies niet?
quote:
0s.gif Op donderdag 9 januari 2014 14:30 schreef ViPeRII het volgende:
quote van php.net

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.
helaas

quote:
0s.gif Op donderdag 9 januari 2014 14:07 schreef zoem het volgende:

[..]

Zowel null als een lege array zijn empty. Kun je wat meer info geven?
Ik doe een email query dmv een functie, als deze niet gevonden wordt return ik een null. ik maak nu een variabele van de functie die ik later gebruik. Was achteraf sowieso handiger omdat ik anders bij meerdere if statements de functie (en dus query) moet laten lopen en dat leek me onnodige overhead geven.

was eerst

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// check email input
        
if (empty($email)) {
            
            
$error['email'] = 'empty';
            
        } elseif (
filter_var($emailFILTER_VALIDATE_EMAIL) == false) { 
            
            
$error['email'] = 'invalid'
        
        } elseif (isset(
user::check($email)) && (isset($register))) {
            
            
$error['email'] = 'taken';
            
        } elseif (empty(
user::check($email)) && (isset($login))) {
            
            
$error['email'] = 'absent';
            
        }
?>

is nu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// check email input
        
if (empty($email)) {
            
            
$error['email'] = 'empty';
            
        } elseif (
filter_var($emailFILTER_VALIDATE_EMAIL) == false) { 
            
            
$error['email'] = 'invalid'
        
        } else {
            
            
// check if email input exists
            
$user user::check($email);
            
            if (isset(
$user['email']) && (isset($register))) { // registration: email already exists in database
            
                
$error['email'] = 'taken';
            
            } elseif (empty(
$user['email']) && (isset($login))) { // login: email address not in database
            
            
$error['email'] = 'absent';
            
            }
            
        }
?>

de else op regel 11 is zodat de query alleen gedaan wordt als de andere statements niet van toepassing zijn

dit is de functie

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
class user {

    static function 
check($email) {
        
        global 
$connect;
        
        
$query $connect->prepare("select id, email, userkey, password from user where email = :email");
        
$query->bindParam(':email'$emailPDO::PARAM_STR);
        
$query->execute();
        
$user $query->fetch();
        
        if (empty(
$user)) {
            
            return 
null;
            
        } else {
            
            return 
$user;
            
        }
        
    }

}
?>

begrijp dat als ik hier meteen (zonder if) de $user variable return dat het ook werkt met empty($user).

[ Bericht 1% gewijzigd door n8n op 10-01-2014 14:42:48 ]
Chandlervrijdag 10 januari 2014 @ 17:26
waarom NULL? waarom niet gewoon false? if (($value == class::function()) != false) { // do dit } oid..

hoop dat ik het goed geschreven heb, want met deze syntax zit ik nog wel eens fout... :@

-edit-

dit gaat ook nergens over, waarom niet gewoon functies gebruiken die specifiek geschreven zijn om te kijken of er een resultaat is?

1
2
3
4
  $query = $connect->prepare("select id, email, userkey, password from user where email = :email");
        $query->bindParam(':email', $email, PDO::PARAM_STR);
        $query->execute();
        $user = $query->fetch();

http://nl1.php.net/manual/en/pdostatement.rowcount.php
KomtTijd...vrijdag 10 januari 2014 @ 17:31
in dit geval idd false of array() returnen. Denk dat ik voor array() zou gaan.
xzazvrijdag 10 januari 2014 @ 17:36
Je 'check' methode heeft een verantwoordelijkheid die die niet moeten hebben.

bool user::validEmailAdress(email)

user user::getUserbyEmailAdress(email)

of

1
2
3
4
5
6
7
8
user::getUserByEmailAdress(email)

implementatie:
  checkEmailAdress(email)
  true:
   getUserbyEmailAdress(email)
  false:
   null
Diaboxvrijdag 10 januari 2014 @ 22:05
Inderdaad wat bovenstaande heren zeggen. Ik verwacht sowieso bij een 'check' functie of het bestaat, en zodoende 'n boolean. Bij 'n get verwacht je data terug.

Daarnaast gewoon 'n lege array returnen bij geen resultaat, en 'n exception throwen wanneer iets fout gaat. Zo heb je geen mixed type nodig, en als er daadwerkelijk wat fout gaat krijg je gewoon 'n exception i.p.v. iets nietszeggends als false (al ga ik ook vaak voor 'n return false bij kleine dingetjes, maar bij wat grotere projecten, en zeker bij meerdere dingen die fout kunnen gaan, throw ik exceptions).
slacker_nlvrijdag 10 januari 2014 @ 22:19
assert_valid_email en dan moet het ding dood gaan als het geen geldig adres is.
is het geldig: get_user_by(email => $email)

ik zou zoiets doen:

1
2
3
4
5
6
7
8
9
function assert_valid_email($meuk) {
     # $VALID_EMAIL_REGEXP is dan gewoon een constante, maar ik weet niet hoe dat eruit ziet in php
     if (preg_match($VALID_EMAIL_REGEXP, $meuk)) {
         return 1;
     }   
     else {
         throw Exception("Invalid e-mail");
     }   
}   
Dan kan je daarna gewoon een try { } catch (Exception $e) {} doen en dan ben je klaar. Doodgaan als het niet goed is, ik kan dat steeds meer waarderen.
zoemvrijdag 10 januari 2014 @ 22:23
Het heeft inderdaad wel zo zijn voordelen, omdat je minder logic hoef te schrijven in het daadwerkelijke proces. Echter betwijfel ik of het gebruik van exceptions in elke validatie/conditionele case wel the way to go is. Ik zet ze zelf pas in bij de wat kritischere functies of externe aanroepen/services. Een vrij basale true/false case lijkt het me wel wat overkill.
slacker_nlvrijdag 10 januari 2014 @ 22:26
quote:
0s.gif Op vrijdag 10 januari 2014 22:23 schreef zoem het volgende:
Het heeft inderdaad wel zo zijn voordelen, omdat je minder logic hoef te schrijven in het daadwerkelijke proces. Echter betwijfel ik of het gebruik van exceptions in elke validatie/conditionele case wel the way to go is. Ik zet ze zelf pas in bij de wat kritischere functies of externe aanroepen/services. Een vrij basale true/false case lijkt het me wel wat overkill.
Je kan een exceptie afvangen. Een invalide e-mailadres moet niet opgegeven zijn door je front-end en dient dus te klappen. De frontend kan ook wat met je Exception doen en klaar. Plus het test makkelijk.

Als fout: dan klappen, als goed, dan doorgaan.

Tuurlijk kan je ook een boolean value checken, maar als je get_user_by_email($email) doet en je mailadres is fout dan ga je geen null returnen omdat je mogelijk geen users vind en dan is een exception echt wel een betere oplossing. Daarom is het ook een assert_ :)

Ik programmeer nu voor bedrijven (nouja, mijn ex-werkgever en mijn huidige werkgever) en daar checken we de params op het moment dat het binnenkomt. Als we dan een constante hebben ala VALID_EMAIL_SYNTAX en je propt er iets in wat geen valide e-mail is dan gaan we dood. Params::Check en familie. Dat is echt zo fijn programmeren.

Je krijgt dat dit soort code:

1
2
3
4
5
sub get_user_by_email { 
    my $args = check({email => {allow => VALID_EMAIL_REGEXP, required => 1},},{@_});

    $db->resultset('User')->search({%$args})->single();
}

Je mag dan maar 1 user hebben met dat mailadres want anders gaat DBIx::Class zeiken en je e-mailadres moet ook goed zijn anders gaat Params::Check zeiken en meer van zulks. Dat is zo fijn.
}

[ Bericht 6% gewijzigd door slacker_nl op 10-01-2014 22:36:27 ]
Diaboxvrijdag 10 januari 2014 @ 22:30
quote:
0s.gif Op vrijdag 10 januari 2014 22:26 schreef slacker_nl het volgende:

[..]

Je kan een exceptie afvangen. Een invalide e-mailadres moet niet opgegeven zijn door je front-end en dient dus te klappen. De frontend kan ook wat met je Exception doen en klaar. Plus het test makkelijk.

Als fout: dan klappen, als goed, dan doorgaan.

Tuurlijk kan je ook een boolean value checken, maar als je get_user_by_email($email) doet en je mailadres is fout dan ga je geen null returnen omdat je mogelijk geen users vind en dan is een exception echt wel een betere oplossing. Daarom is het ook een assert_ :)
Eens.
zoemvrijdag 10 januari 2014 @ 22:53
quote:
0s.gif Op vrijdag 10 januari 2014 22:26 schreef slacker_nl het volgende:

[..]

Je kan een exceptie afvangen. Een invalide e-mailadres moet niet opgegeven zijn door je front-end en dient dus te klappen. De frontend kan ook wat met je Exception doen en klaar. Plus het test makkelijk.

Als fout: dan klappen, als goed, dan doorgaan.

Tuurlijk kan je ook een boolean value checken, maar als je get_user_by_email($email) doet en je mailadres is fout dan ga je geen null returnen omdat je mogelijk geen users vind en dan is een exception echt wel een betere oplossing. Daarom is het ook een assert_ :)
Bij het gebruik van asserts ben ik het volledig met je eens. Je beweert (assert) dan dat iets waar is. Zo niet: bam, exception!

Maar stel: een admin zoekt naar een user op e-mailadres, dan heb je geen zekerheid dat het adres bestaat. In zo'n geval zou ik eerder een false/null/leeg iets verwachten ipv een exception. Het zit hem ook in de naam: een exception gaat om een uitzonderingsgeval of een onverwachte situatie. Zolang het proces binnen het verwachtingskader verloopt verwacht je geen exception. En in mijn voorbeeld kún je verwachten dat er geen user matcht op het ingegeven e-mailadres.

Uiteindelijk maakt het niet uit tot welk niveau je exceptions inzet, zolang je maar consequent bent want dat is veel waardevoller :)
slacker_nlvrijdag 10 januari 2014 @ 23:14
quote:
0s.gif Op vrijdag 10 januari 2014 22:53 schreef zoem het volgende:

Bij het gebruik van asserts ben ik het volledig met je eens. Je beweert (assert) dan dat iets waar is. Zo niet: bam, exception!

Maar stel: een admin zoekt naar een user op e-mailadres, dan heb je geen zekerheid dat het adres bestaat. In zo'n geval zou ik eerder een false/null/leeg iets verwachten ipv een exception. Het zit hem ook in de naam: een exception gaat om een uitzonderingsgeval of een onverwachte situatie. Zolang het proces binnen het verwachtingskader verloopt verwacht je geen exception. En in mijn voorbeeld kún je verwachten dat er geen user matcht op het ingegeven e-mailadres.

Uiteindelijk maakt het niet uit tot welk niveau je exceptions inzet, zolang je maar consequent bent want dat is veel waardevoller :)
In sommige gevallen is het wel degelijk een Exception als je naar iets zoekt en je vind er geen of meer dan een. Je database kan dan vervuild zijn en wat moet je dan geloven? In dit geval zouden er nul of een resultaten moeten zijn, je kan niet meerdere users met hetzelfde adres hebben. Vind je meer dan twee users dan moet je m.i. een exceptie rond gaan gooien.

Overigens vind ik in dit geval dat get_user_by_email er ongeveer zo gaat uitzien:

1
2
3
4
5
getuser_by_email {
    assert_valid_email($email); 
    my @res = $db->search('User', email => $email); 
    throw("Multiple users found where one or less expected") if @res > 1;
}

syntax is perl, maar dat boeit even niet :)

Als je zoekt op een userid bijvoorbeeld, dan moet je code wel gaan lopen miepen als die user niet bestaat, die ID heb je ergens vandaan. Het gaat inderdaad om de context, maar bij rariteiten verkies is voor excepties en doodgaan. Als de caller dit kan afhandelen kan ie de exceptie afvangen en verder gaan.
n8nzaterdag 11 januari 2014 @ 14:01
Het is een form met 2 submits, 1 registeer en 1 login (al kan het ook apart). De email input check doet eerst een check of er überhaupt een waarde is, dan of de email geldig is en als dat klopt afhankelijk van de submit een query voor het ingevoerde adres. Bij registreer krijgt het een ok als het email adres niet bestaat, bij login als het wel bestaat. Als een statement niet werkt maak ik een error array aan. Het hele form werkt pas als er na alle checks geen errors zijn.

Is dit een beetje okay? Zie dat er een hele discussie ontstaat :+. Heb nu bij de user::check($email) gedaan dat er altijd een array in de return staat. Zal de functie nog hernoemen naar user::get().

Is met pdo filter_var($email, FILTER_VALIDATE_EMAIL) voldoende sanatising. Begreep dat pdo al goed beveiligd was als je params gebruikt
xzazzaterdag 11 januari 2014 @ 14:19
Ik gooi altijd dat Exceptions in situaties die eigenlijk niet mogen voorkomen.

Dat er een gebruiker niet kan worden gevonden op een e-mail adres is prima. Dat kan voorkomen, bijvoorbeeld bij een check als de gebruiker al eens in aangemeld. De hoeveelheid e-mail adressen mogen niet meerdere keren voorkomen omdat dit als PK / ID wordt gezien. In het geval dat er 2 gebruikers worden geretourneerd door de methode getUserByEmail() is er iets mis met 1) de DB (itegriteit) en 2) de Code. In dat geval zal ik echt, boem een Exception gooien. Hence de naam 'Exception'.
n8nzaterdag 11 januari 2014 @ 19:21
quote:
0s.gif Op vrijdag 10 januari 2014 17:26 schreef Chandler het volgende:
waarom NULL? waarom niet gewoon false? if (($value == class::function()) != false) { // do dit } oid..

hoop dat ik het goed geschreven heb, want met deze syntax zit ik nog wel eens fout... :@

-edit-

dit gaat ook nergens over, waarom niet gewoon functies gebruiken die specifiek geschreven zijn om te kijken of er een resultaat is?
[ code verwijderd ]

http://nl1.php.net/manual/en/pdostatement.rowcount.php
omdat ik de informatie wil gebruiken om het wachtwoord te valideren
n8nzaterdag 11 januari 2014 @ 19:21
quote:
0s.gif Op zaterdag 11 januari 2014 14:19 schreef xzaz het volgende:
Ik gooi altijd dat Exceptions in situaties die eigenlijk niet mogen voorkomen.

Dat er een gebruiker niet kan worden gevonden op een e-mail adres is prima. Dat kan voorkomen, bijvoorbeeld bij een check als de gebruiker al eens in aangemeld. De hoeveelheid e-mail adressen mogen niet meerdere keren voorkomen omdat dit als PK / ID wordt gezien. In het geval dat er 2 gebruikers worden geretourneerd door de methode getUserByEmail() is er iets mis met 1) de DB (itegriteit) en 2) de Code. In dat geval zal ik echt, boem een Exception gooien. Hence de naam 'Exception'.
in principe kan het toch niet voorkomen, sowieso is elk email adres in de tabel uniek.
xzazzaterdag 11 januari 2014 @ 19:43
quote:
1s.gif Op zaterdag 11 januari 2014 19:21 schreef n8n het volgende:

[..]

in principe kan het toch niet voorkomen, sowieso is elk email adres in de tabel uniek.
Assumption is the mother of all fuckups. Juist dat 'in principe' is waarom je een exception gooit.
n8nzondag 12 januari 2014 @ 13:29
quote:
0s.gif Op zaterdag 11 januari 2014 19:43 schreef xzaz het volgende:

[..]

Assumption is the mother of all fuckups. Juist dat 'in principe' is waarom je een exception gooit.
duidelijk, als ik eigenwijs klink is dat omdat ik het nog onduidelijk heb. Schrijf je die exception dan in de functie if als else statement na de if?

Nog iets anders, ik schrijf nu elke class in een aparte php file, doe ik zodat ik het overzicht hou en het leek me handig omdat ik bepaalde files dan alleen hoef te includen waar nodig. Vroeg me af of het zinnig is en niet te veel overhead gaf als er veel bestanden ingelezen moeten worden.
KomtTijd...zondag 12 januari 2014 @ 16:41
Iedere class in een file is vrij gebruikelijk, zelf includen niet. Gebruik je een framework? Meeste frameworks hebben dat geautoriseerd.
n8nzondag 12 januari 2014 @ 17:54
quote:
14s.gif Op zondag 12 januari 2014 16:41 schreef KomtTijd... het volgende:
Iedere class in een file is vrij gebruikelijk, zelf includen niet. Gebruik je een framework? Meeste frameworks hebben dat geautoriseerd.
nee probeer eerst standaard php te leren. Over een week stage, daar werken ze met lavarel oid. Vandaag proberen homebrew aan te praat te krijgen ipv mamp en heb volgens mij m'n apache config file verneukt :')
Aethermaandag 13 januari 2014 @ 10:33
Vond dit wel een aardige verzameling, misschien heeft iemand er nog iets aan:
Artful Common MySQL Queries.
raptorixmaandag 13 januari 2014 @ 10:44
quote:
7s.gif Op maandag 13 januari 2014 10:33 schreef Aether het volgende:
Vond dit wel een aardige verzameling, misschien heeft iemand er nog iets aan:
Artful Common MySQL Queries.
Nice, over sql gesproken, deze kerel is echt een baas: http://code.openark.org/blog/mysql/sql-pie-chart
bondagemaandag 13 januari 2014 @ 13:09
quote:
0s.gif Op maandag 13 januari 2014 10:44 schreef raptorix het volgende:

[..]

Nice, over sql gesproken, deze kerel is echt een baas: http://code.openark.org/blog/mysql/sql-pie-chart
Wat een monsterquery :D
raptorixmaandag 13 januari 2014 @ 13:13
quote:
6s.gif Op maandag 13 januari 2014 13:09 schreef bondage het volgende:

[..]

Wat een monsterquery :D
Ik heb keer een stored procedure van iets van 600 regels geschreven ;)
Was iets met een grote huizensite zeg maar ;)
xzazmaandag 13 januari 2014 @ 13:14
quote:
0s.gif Op maandag 13 januari 2014 13:13 schreef raptorix het volgende:

[..]

Ik heb keer een stored procedure van iets van 600 regels geschreven ;)
Was iets met een grote huizensite zeg maar ;)
599 Regels commentaar?
raptorixmaandag 13 januari 2014 @ 13:17
quote:
16s.gif Op maandag 13 januari 2014 13:14 schreef xzaz het volgende:

[..]

599 Regels commentaar?
Nee was de searchquery maar daarin ook nog eens het hele paging en parameter mechanisme, pfffff hoofdpijn van dat ding.
xzazmaandag 13 januari 2014 @ 13:18
quote:
0s.gif Op maandag 13 januari 2014 13:17 schreef raptorix het volgende:

[..]

Nee was de searchquery maar daarin ook nog eens het hele paging en parameter mechanisme, pfffff hoofdpijn van dat ding.
https://github.com/Shandem/Examine ?
raptorixmaandag 13 januari 2014 @ 13:20
quote:
We spreken hier over 2001, toen waren dat soort technieken nog niet zo gebruikelijk, wat we wel deden was de database readonly maken, dat scheelt ongeveer 40 procent. Tegenwoordig gebruik je voor dit soort zaken gewoon een noSql server of anders wel een ORM mapper.
xzazmaandag 13 januari 2014 @ 13:21
quote:
0s.gif Op maandag 13 januari 2014 13:20 schreef raptorix het volgende:

[..]

We spreken hier over 2001, toen waren dat soort technieken nog niet zo gebruikelijk, wat we wel deden was de database readonly maken, dat scheelt ongeveer 40 procent. Tegenwoordig gebruik je voor dit soort zaken gewoon een noSql server of anders wel een ORM mapper.
Ah, dat plaatst het wat in de context, als je een sp van 600 regels maakt moet er toch een lampje gaan branden. The horror!
n8nmaandag 13 januari 2014 @ 16:25
Yay Apache, MySQL en de laatste versie van php werken op m'n Macbook. Heb nu alleen dat als ik een pagina met een MySQL refresh het laden lang duurt. ~2 seconden gebeurt er niks en dan is alles er binnen een oogwenk. Waar moet ik dit zoeken?

edit: het duurt maar liefst 5.0075240135193 seconden :+ vrij consistent ook

edit2: via stackoverflow mn host info veranderd naar good old 127.0.0.1 en nu werkt het in 0.0031747817993164 seconden. Beter _O_
n8nmaandag 13 januari 2014 @ 18:59
Ben ik weer. Om in een functie specifieke $_POST input te krijgen moest ik of telkens voluit $_POST['name'] schrijven, er een variabele van maken of variabelen global aanroepen. Heb nu een functie die je overal kan aanroepen die de $_POST data omzet in losse variabelen die je lokaal kan gebruiken.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// fictieve $_POST array
$post = array('email' => 'hoi''password' => 'test');
        
        function 
get_variables($data) {
            
            
$key 0;
    
            do {
            
            
$keys array_keys($data);
            
$var = (array_keys($data)[$key]);
            
            global $
$var;
                        
                if (!empty(
$data[$var])) { $$var $data[$var];
                
                } else { $
$var null; }
                
                
$key++;
                
            } while (
array_key_exists($key$keys));    
        }

        
// hier wil ik $_POST gaan gebruiken
        
get_variables($post);
        
        
// variabelen komen uit de functie
        
echo "$email<br>$password";
?>
het maakt van elke key in een array een variable met de naam en waarde van de key. dus $_POST[email] wordt omgezet naar $email = 'waarde van email'. Als een waarde leeg is heeft de variabele een null waarde.

Op of aanmerkingen? Kom net kijken dus heb vaak het idee dat ik met :') ideeën kom
bondagemaandag 13 januari 2014 @ 19:01
quote:
6s.gif Op maandag 13 januari 2014 18:59 schreef n8n het volgende:
Ben ik weer. Om in een functie specifieke $_POST input te krijgen moest ik of telkens voluit $_POST['name'] schrijven, er een variabele van maken of variabelen global aanroepen. Heb nu een functie die je overal kan aanroepen die de $_POST data omzet in losse variabelen die je lokaal kan gebruiken.
[ code verwijderd ]

het maakt van elke key in een array een variable met de naam en waarde van de key. dus $_POST[email] wordt omgezet naar $email = 'waarde van email'. Als een waarde leeg is heeft de variabele een null waarde.

Op of aanmerkingen? Kom net kijken dus heb vaak het idee dat ik met :') ideeën kom
Global vind ik zelf niet zo netjes. Ik zou het via een class (service) doen.
n8nmaandag 13 januari 2014 @ 19:02
quote:
14s.gif Op maandag 13 januari 2014 19:01 schreef bondage het volgende:

[..]

Global vind ik zelf niet zo netjes. Ik zou het via een class (service) doen.
global is toch nodig om de variabele überhaupt te kunnen definiëren buiten de scope van de function (of class)?
bondagemaandag 13 januari 2014 @ 19:05
quote:
7s.gif Op maandag 13 januari 2014 19:02 schreef n8n het volgende:

[..]

global is toch nodig om de variabele überhaupt te kunnen definiëren buiten de scope van de function (of class)?
Bij een class heb je global niet nodig. Als je het object eenmaal hebt aangemaakt kun je dat meegeven aan je functies. Ook kun je op jouw manier variabelen per ongeluk overschrijven als je dezelfde namen ergens anders gebruikt.
n8nmaandag 13 januari 2014 @ 19:08
quote:
11s.gif Op maandag 13 januari 2014 19:05 schreef bondage het volgende:

[..]

Bij een class heb je global niet nodig. Als je het object eenmaal hebt aangemaakt kun je dat meegeven aan je functies. Ook kun je op jouw manier variabelen per ongeluk overschrijven als je dezelfde namen ergens anders gebruikt.
dus variabelen die je binnen je class (maar buiten een functie aanmaakt) kan je binnen die class in elke functie gebruiken? Ga dat even proberen. Zou wel mooi zijn met het oog op overschrijven van bestaande waarden.
#ANONIEMmaandag 13 januari 2014 @ 19:08
quote:
6s.gif Op maandag 13 januari 2014 18:59 schreef n8n het volgende:
Ben ik weer. Om in een functie specifieke $_POST input te krijgen moest ik of telkens voluit $_POST['name'] schrijven, er een variabele van maken of variabelen global aanroepen. Heb nu een functie die je overal kan aanroepen die de $_POST data omzet in losse variabelen die je lokaal kan gebruiken.
[ code verwijderd ]

het maakt van elke key in een array een variable met de naam en waarde van de key. dus $_POST[email] wordt omgezet naar $email = 'waarde van email'. Als een waarde leeg is heeft de variabele een null waarde.

Op of aanmerkingen? Kom net kijken dus heb vaak het idee dat ik met :') ideeën kom
Dit is niet echt een goede oplossing. Veel te onveilig, je kunt zelf post variabelen toevoegen en die worden dan als variabele gebruikt. Dit is een paar jaar geleden een grote overstap geweest voor mensen. register_globals stond vaak aan en gaf superveel beveiligingslekken. Je hebt nu een zelfde soort functie geschreven.
n8nmaandag 13 januari 2014 @ 19:13
quote:
0s.gif Op maandag 13 januari 2014 19:08 schreef totalvamp het volgende:

[..]

Dit is niet echt een goede oplossing. Veel te onveilig, je kunt zelf post variabelen toevoegen en die worden dan als variabele gebruikt. Dit is een paar jaar geleden een grote overstap geweest voor mensen. register_globals stond vaak aan en gaf superveel beveiligingslekken. Je hebt nu een zelfde soort functie geschreven.
niet eens aan gedacht :') dan zou het eventueel nog met een werken als ik een prefix toevoeg zodat overschrijven van bestaande variabelen (door kwaadwillenden) geen optie meer is. Toch blij dat ik het even heb nagevraagd. global haal ik sowieso wel weg dan :+

[ Bericht 0% gewijzigd door n8n op 13-01-2014 19:27:03 ]
bondagemaandag 13 januari 2014 @ 19:13
quote:
14s.gif Op maandag 13 januari 2014 19:08 schreef n8n het volgende:

[..]

dus variabelen die je binnen je class (maar buiten een functie aanmaakt) kan je binnen die class in elke functie gebruiken? Ga dat even proberen. Zou wel mooi zijn met het oog op overschrijven van bestaande waarden.
Alles wat je in een class buiten de functie zet is beschikbaar binnen de functies die in die class staan.

Voorbeeld:

private $variable_1 = 'test';
private $variable_2 = 'test2';

public function testFunctie() {
echo $this->variable_1 . '<br /> . $this->variable_2';
}
n8nmaandag 13 januari 2014 @ 19:14
quote:
0s.gif Op maandag 13 januari 2014 19:13 schreef bondage het volgende:

[..]

Alles wat je in een class buiten de functie zet is beschikbaar binnen de functies die in die class staan.

Voorbeeld:

private $variable_1 = 'test';
private $variable_2 = 'test2';

public function testFunctie() {
echo $this->$variable_1 . '<br /> . $this->$variable_2';
}
ah in 1 keer snap ik $this, heb ik meteen m'n prefix te pakken :+
#ANONIEMmaandag 13 januari 2014 @ 19:15
quote:
7s.gif Op maandag 13 januari 2014 19:14 schreef n8n het volgende:

[..]

ah in 1 keer snap ik $this, heb ik meteen m'n prefix te pakken :+
$this is de referentie naar de class waar je momenteel in zit (of inherit).
Voor statische vars is dit self::

[ Bericht 2% gewijzigd door #ANONIEM op 13-01-2014 19:15:37 ]
bondagemaandag 13 januari 2014 @ 19:15
quote:
7s.gif Op maandag 13 januari 2014 19:14 schreef n8n het volgende:

[..]

ah in 1 keer snap ik $this, heb ik meteen m'n prefix te pakken :+
Zie edit :P

$this->variable_1 (dollarteken hoort niet voor de var)
n8nmaandag 13 januari 2014 @ 19:15
quote:
0s.gif Op maandag 13 januari 2014 19:15 schreef totalvamp het volgende:

[..]

$this is de referentie naar de class waar je momenteel in zit (of inherit).
Voor statische vars is dit self::
ze maken het wel makkelijk
n8nmaandag 13 januari 2014 @ 19:17
quote:
11s.gif Op maandag 13 januari 2014 19:15 schreef bondage het volgende:

[..]

Zie edit :P

$this->variable_1 (dollarteken hoort niet voor de var)
ja precies, nu weer uitdokteren hoe ik m'n idee alsnog werkend krijg want het is niet echt DRY als ik overal globals moet definiëren. :+
bondagemaandag 13 januari 2014 @ 19:28
quote:
7s.gif Op maandag 13 januari 2014 19:17 schreef n8n het volgende:

[..]

ja precies, nu weer uitdokteren hoe ik m'n idee alsnog werkend krijg want het is niet echt DRY als ik overal globals moet definiëren. :+
Zoiets zou je mee kunnen beginnen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
class cRequest {
    private 
$request_vars;
    
    public function 
__construct() {
        
$this->request_vars $_REQUEST;
    }
    
    public function 
setRequestVar($v_key$v_val) {
        
$this->request_vars[$v_key] = $v_val;
    }
    
    public function 
getRequestVar($key$ret_nonexisting '') {
        if(isset(
$this->request_vars[$key])) {
            return 
$this->request_vars[$key];
        }
        
        return 
$ret_nonexisting;
    }
    
    public function 
getRequestArray() {
        return 
$this->request_vars;
    }
}
?>
<?php
    $obj_request 
= new cRequest();
    
    
// print de var, als deze niet bestaat dan krijg je 'ik_was_undefined' terug.
    
echo $obj_request->getRequestVar('bla''ik_was_undefined');
?>

Dit werkt dan ook:
1
2
3
4
5
6
7
<?php
echo testFunction($obj_request);

function 
testFunction($request_object) {
    return 
$request_object->getRequestVar('bla''ik_was_undefined');
}
?>
#ANONIEMmaandag 13 januari 2014 @ 19:33
quote:
14s.gif Op maandag 13 januari 2014 19:28 schreef bondage het volgende:

[..]

Zoiets zou je mee kunnen beginnen:
[ code verwijderd ]

Dit is niet de beste oplossing, je classe is een beetje ouderwets en je kunt dan beter gebruik maken van de magic get en set methoden. Dat scheelt ook gelijk in wat je moet typen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
class cRequest {
    private 
$request_vars;
    
    public function 
__construct() {
        
$this->request_vars $_REQUEST;
    }
    
    public function 
__set($v_key$v_val) {
        
$this->request_vars[$v_key] = $v_val;
    }
    
    public function 
__get($key) {
        if(isset(
$this->request_vars[$key])) {
            return 
$this->request_vars[$key];
        }
        
        return 
false;
    }
    
    public function 
getRequestArray() {
        return 
$this->request_vars;
    }
}
?>
<?php
    $obj_request 
= new cRequest();
    
    
// krijg een var of false
    
echo $obj_request->bla;
?>


[ Bericht 1% gewijzigd door #ANONIEM op 13-01-2014 19:33:52 ]
n8nmaandag 13 januari 2014 @ 19:36
Heel erg bedankt heren, ik moet het nu even 500 keer lezen voordat ik het door heb :+ Zit nog in de fase dat ik van de ene naar de andere error vraag op stack overflow browse

heb nu bezoek (yay maar helaas). Morgen weer verder puzzlen _O_
bondagemaandag 13 januari 2014 @ 19:44
quote:
0s.gif Op maandag 13 januari 2014 19:33 schreef totalvamp het volgende:

[..]

Dit is niet de beste oplossing, je classe is een beetje ouderwets en je kunt dan beter gebruik maken van de magic get en set methoden. Dat scheelt ook gelijk in wat je moet typen.
[ code verwijderd ]

Dat had ik in de eerste instantie maar dan kun je niet bepalen wat er moet worden teruggegeven indien de var niet voorkomt in de globale request array.

Stel dat je een form hebt en je wilt vooraf ingevulde waarden hebben als er geen input van de gebruiker is doorgegeven, via de functie getRequestVar in mijn class kun je dan via de tweede param aangeven wat deze waarde moet zijn. Op jouw manier lukt dat niet, of ik moet iets over het hoofd zien. Ook kun je de functie uitbreiden met een extra param waarin je bijvoorbeeld mee kunt geven of je de waarde om wilt zetten in htmlentities, dan hoef je die functie niet los aan te roepen in je template.
#ANONIEMmaandag 13 januari 2014 @ 19:50
quote:
11s.gif Op maandag 13 januari 2014 19:44 schreef bondage het volgende:

[..]

Dat had ik in de eerste instantie maar dan kun je niet bepalen wat er moet worden teruggegeven indien de var niet voorkomt in de globale request array.

Stel dat je een form hebt en je wilt vooraf ingevulde waarden hebben als er geen input van de gebruiker is doorgegeven, via de functie getRequestVar in mijn class kun je dan via de tweede param aangeven wat deze waarde moet zijn. Op jouw manier lukt dat niet, of ik moet iets over het hoofd zien. Ook kun je de functie uitbreiden met een extra param waarin je bijvoorbeeld mee kunt geven of je de waarde om wilt zetten in htmlentities, dan hoef je die functie niet los aan te roepen in je template.
Ik begreep inderdaad dat je iets specifieks terug wilde hebben. Dat is alleen niet de taak van deze class. Je geeft alleen iets terug en in je Template class of Controller zul je daar iets mee moeten doen.

Bijvoorbeeld:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$t 
= new Template('test');
$r = new Request();
$t->replace('email'$r->email);

class 
Template {
   protected 
$html;
   public function 
replace($key$with) {
      if(
false !== $with)
        
$this->html str_replace($key$with$this->html);
      
// Hier kun je afhandelen wat je doet als het false is
   
}
}

Ik moet er wel bij zeggen dat ik mijn formulieren opbouw met classes. Elk element is een class met zijn eigen validatie en manier om standaardwaarde te zetten.

[ Bericht 1% gewijzigd door #ANONIEM op 13-01-2014 20:00:07 ]
bondagemaandag 13 januari 2014 @ 20:10
quote:
0s.gif Op maandag 13 januari 2014 19:50 schreef totalvamp het volgende:

[..]

Ik begreep inderdaad dat je iets specifieks terug wilde hebben. Dat is alleen niet de taak van deze class. Je geeft alleen iets terug en in je Template class of Controller zul je daar iets mee moeten doen.

Bijvoorbeeld:
[ code verwijderd ]

Ik moet er wel bij zeggen dat ik mijn formulieren opbouw met classes. Elk element is een class met zijn eigen validatie en manier om standaardwaarde te zetten.
Ik ben het met je eens dat je dit soort zaken in de template zelf af hoort te handelen, echter vind ik het zelf wel handig dat de request class het in dit geval ook kan omdat je de waarden niet altijd in de template gebruikt maar misschien ook ergens anders. Je zou dit natuurlijk ook door die classes (bijv. een formulier verwerking class) laten afhandelen maar dat vond ik voor het voorbeeldje iets te diep op de stof ingaan.

Ik bouw in de meeste tools/websites die ik heb geschreven de template op als een extension op een baseclass en set dan alle vars die nodig zijn in de template. Je kunt daar dan eventueel ook standaardwaarden zetten.
#ANONIEMmaandag 13 januari 2014 @ 20:26
quote:
14s.gif Op maandag 13 januari 2014 20:10 schreef bondage het volgende:

[..]

Ik ben het met je eens dat je dit soort zaken in de template zelf af hoort te handelen, echter vind ik het zelf wel handig dat de request class het in dit geval ook kan omdat je de waarden niet altijd in de template gebruikt maar misschien ook ergens anders. Je zou dit natuurlijk ook door die classes (bijv. een formulier verwerking class) laten afhandelen maar dat vond ik voor het voorbeeldje iets te diep op de stof ingaan.

Ik bouw in de meeste tools/websites die ik heb geschreven de template op als een extension op een baseclass en set dan alle vars die nodig zijn in de template. Je kunt daar dan eventueel ook standaardwaarden zetten.
Ja misschien inderdaad te geavanceerd voor een beginner :)

Ookal gebruik je de request ergens anders, zou je eigenlijk nog steeds een false moeten teruggeven als standaard. Wat gebeurd er nu als je de request class gebruikt om een database te vullen. Dan vult hij de waardes met een string ookal bestaat de waarde niet.

Normaal heb je natuurlijk iets van validatie, maar deze stap zou je al over kunnen slaan als de waarde false is. Al heeft dit waarschijnlijk weinig nut in jouw opzet.

Ik hou zelf de regel aan dat ik of een string/array/object teruggeef of een false. En uiteindelijk in de Controller de waarschuwing ervan laat zien als dat nodig is.

Dit is even een voorbeeld hoe ik zelf een form opbouw:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$f 
= new System\Core\Form();
    
$f->addElement(new System\Core\Form\Element\Fieldset(
        array(
        
'name' => 'testFieldset',
        
'label' => 'Testfieldset',
        
'elements' => array(
            new 
System\Core\Form\Input\Text(array(
            
'name' => 'test',
            
'label' => 'Test field',
            
'value' => 'testvaluess',
            
'validator' => array(
                
'Length' => array('max' => 10)
            ))),
            new 
System\Core\Form\Input\Text(array(
            
'name' => 'test',
            
'label' => 'Testfield',
            
'value' => 'testvaluess',
            
'validator' => array(
                
'Length' => array('max' => 10)
            )))
        ))
    ));
    
$f->addElement(new System\Core\Form\Element\Button(
    array(
        
'name' => 'Test',
        
'value' => 'Test'
    
)
    ));
    
$f->show();
?>

De form wordt op de post pagina dan gevalideerd

[ Bericht 33% gewijzigd door #ANONIEM op 13-01-2014 20:31:33 ]
Lightmaandag 13 januari 2014 @ 20:43
quote:
0s.gif Op maandag 13 januari 2014 19:33 schreef totalvamp het volgende:

[..]

Dit is niet de beste oplossing, je classe is een beetje ouderwets en je kunt dan beter gebruik maken van de magic get en set methoden. Dat scheelt ook gelijk in wat je moet typen.
[ code verwijderd ]

Ik zou het zo maken dat de constructor een array accepteert, zodat je dezelfde class ook voor $_GET en $_POST kunt gebruiken. En zodat je de code makkelijker kunt testen. En classes waarvan de naam begint met een kleine letter c snap ik ook niet.

1
2
3
4
5
6
7
8
9
10
11
<?php
class cRequest {
    private 
$request_vars;
    
    public function 
__construct($vars $_REQUEST) {
        
$this->request_vars $vars;
    }

    
// meer functies
}
?>
#ANONIEMmaandag 13 januari 2014 @ 21:00
quote:
0s.gif Op maandag 13 januari 2014 20:43 schreef Light het volgende:

[..]

Ik zou het zo maken dat de constructor een array accepteert, zodat je dezelfde class ook voor $_GET en $_POST kunt gebruiken. En zodat je de code makkelijker kunt testen. En classes waarvan de naam begint met een kleine letter c snap ik ook niet.
[ code verwijderd ]

Wat dat betreft kun je eigenlijk ook gewoon gelijk de $_REQUEST gebruiken. Dan kun je de class als static gebruiken.
bondagemaandag 13 januari 2014 @ 21:32
quote:
0s.gif Op maandag 13 januari 2014 20:43 schreef Light het volgende:

[..]

En classes waarvan de naam begint met een kleine letter c snap ik ook niet.
Dat is mij zo aangeleerd tijdens een cursus OOP ergens in een ver verleden, volgens mij om ervoor te zorgen dat je niet met gereserveerde namen komt te zitten. Je zou er eventueel ook iets anders voor kunnen zetten natuurlijk.
Lightmaandag 13 januari 2014 @ 21:34
quote:
11s.gif Op maandag 13 januari 2014 21:32 schreef bondage het volgende:

[..]

Dat is mij zo aangeleerd tijdens een cursus OOP ergens in een ver verleden, volgens mij om ervoor te zorgen dat je niet met gereserveerde namen komt te zitten. Je zou er eventueel ook iets anders voor kunnen zetten natuurlijk.
Tegenwoordig heeft PHP namespaces om dat soort conflicten te voorkomen.
bondagemaandag 13 januari 2014 @ 21:37
quote:
0s.gif Op maandag 13 januari 2014 21:34 schreef Light het volgende:

[..]

Tegenwoordig heeft PHP namespaces om dat soort conflicten te voorkomen.
Je UI past goed bij deze post :+ Namespaces moet ik me toch maar eens in gaan verdiepen, werkelijk nog nooit gebruikt :@
bondagemaandag 13 januari 2014 @ 21:56
quote:
0s.gif Op maandag 13 januari 2014 20:43 schreef Light het volgende:

[..]

Ik zou het zo maken dat de constructor een array accepteert, zodat je dezelfde class ook voor $_GET en $_POST kunt gebruiken.
Wat is trouwens je redenatie daarachter? Ik had juist voor $_REQUEST gekozen omdat deze zowel de GET als POST waarden bevat. Ik doe het eigenlijk altijd zo en ben nog nooit tegen problemen aangelopen.
zoemmaandag 13 januari 2014 @ 22:21
quote:
11s.gif Op maandag 13 januari 2014 21:32 schreef bondage het volgende:

[..]

Dat is mij zo aangeleerd tijdens een cursus OOP ergens in een ver verleden, volgens mij om ervoor te zorgen dat je niet met gereserveerde namen komt te zitten. Je zou er eventueel ook iets anders voor kunnen zetten natuurlijk.
Dat is (een variant op) de Hungarian notation en stamt uit de tijd dat data types niet snel herkend konden worden in de code. In php vind ik dergelijke type hints (want dat zijn het) overbodig, want 1) php is weak typed en 2) een goede IDE geeft ook hints. Je ziet ook dat deze notatie niet (meer) gebruikt wordt in de bekende frameworks en projecten zoals ZF, Symfony, Doctrine, Laravel en vele anderen.

Zoals Light al aangeeft heb je nu namespaces. Moderne frameworks maken daar al dankbaar gebruik van. Hiervoor zag je veelvuldig de underscore-notatie (bijv Zend_View_Helper_Abstract) om conflicten te voorkomen. In beide constructies wordt de projectnaam als primaire prefix/namespace gebruikt.
bondagemaandag 13 januari 2014 @ 22:26
quote:
0s.gif Op maandag 13 januari 2014 22:21 schreef zoem het volgende:

[..]

Dat is (een variant op) de Hungarian notation en stamt uit de tijd dat data types niet snel herkend konden worden in de code. In php vind ik dergelijke type hints (want dat zijn het) overbodig, want 1) php is weak typed en 2) een goede IDE geeft ook hints. Je ziet ook dat deze notatie niet (meer) gebruikt wordt in de bekende frameworks en projecten zoals ZF, Symfony, Doctrine, Laravel en vele anderen.

Zoals Light al aangeeft heb je nu namespaces. Moderne frameworks maken daar al dankbaar gebruik van. Hiervoor zag je veelvuldig de underscore-notatie (bijv Zend_View_Helper_Abstract) om conflicten te voorkomen. In beide constructies wordt de projectnaam als primaire prefix/namespace gebruikt.
Ik ben al wat sites aan het doornemen over namespaces; lijkt niet heel ingewikkeld als ik het zo zie. Binnenkort zelf maar even wat mee gaan experimenteren. Je leert immers het snelst door het gewoon te doen :)
zoemmaandag 13 januari 2014 @ 22:35
quote:
5s.gif Op maandag 13 januari 2014 21:56 schreef bondage het volgende:

[..]

Wat is trouwens je redenatie daarachter? Ik had juist voor $_REQUEST gekozen omdat deze zowel de GET als POST waarden bevat. Ik doe het eigenlijk altijd zo en ben nog nooit tegen problemen aangelopen.
Nadeel is dat $_REQUEST de data uit $_GET, $_POST en $_COOKIE combineert. Dat creëert 2 potentiele problemen:

1) De data van $_COOKIE, $_POST en $_GET overschrijven elkaar als er dezelfde keys bestaan, wat kan leiden tot onverwacht gedrag. De standaarvolgorde is G, P en dan C.
2) Omdat $_COOKIE voorrang heeft op $_GET en $_POST, kan er mogelijk cookiedata op onveilige plekken terechtkomen.

NB: De volgorde en de aanwezigheid van cookiedata hangt af van de php.ini directives.
quote:
14s.gif Op maandag 13 januari 2014 22:26 schreef bondage het volgende:

[..]

Ik ben al wat sites aan het doornemen over namespaces; lijkt niet heel ingewikkeld als ik het zo zie. Binnenkort zelf maar even wat mee gaan experimenteren. Je leert immers het snelst door het gewoon te doen :)
Zeker, gewoon ermee aan de slag gaan werkt het beste :Y
bondagemaandag 13 januari 2014 @ 22:49
quote:
0s.gif Op maandag 13 januari 2014 22:35 schreef zoem het volgende:

[..]

Nadeel is dat $_REQUEST de data uit $_GET, $_POST en $_COOKIE combineert. Dat creëert 2 potentiele problemen:

1) De data van $_COOKIE, $_POST en $_GET overschrijven elkaar als er dezelfde keys bestaan, wat kan leiden tot onverwacht gedrag. De standaarvolgorde is G, P en dan C.
2) Omdat $_COOKIE voorrang heeft op $_GET en $_POST, kan er mogelijk cookiedata op onveilige plekken terechtkomen.
Ai, dat is best wel naatje. Het zal waarschijnlijk niet zo snel voorkomen omdat ik erg goed let op de naamgeving van mijn cookie, post en get vars door er iets voor te zetten maar je weet echter maar nooit... Binnenkort maar ff mijn request classes gaan verbouwen ;(
#ANONIEMmaandag 13 januari 2014 @ 22:55
quote:
11s.gif Op maandag 13 januari 2014 22:49 schreef bondage het volgende:

[..]

Ai, dat is best wel naatje. Het zal waarschijnlijk niet zo snel voorkomen omdat ik erg goed let op de naamgeving van mijn cookie, post en get vars door er iets voor te zetten maar je weet echter maar nooit... Binnenkort maar ff mijn request classes gaan verbouwen ;(
Dit is mijne

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    
namespace System\Helpers;

    class 
Request {

        public static function 
isPost() {
            return (
$_SERVER['REQUEST_METHOD'] == 'POST')?true:false;
        }

        public static function 
get($key) {
            return isset(
$_GET[$key])?$_GET[$key]:false;
        }

        public static function 
post($key) {
            return isset(
$_POST[$key])?$_POST[$key]:false;
        }

    }
?>
zoemdinsdag 14 januari 2014 @ 11:43
quote:
0s.gif Op maandag 13 januari 2014 22:55 schreef totalvamp het volgende:

[..]

Dit is mijne
[ code verwijderd ]

Deze code
1
2
3
<?php
return ($_SERVER['REQUEST_METHOD'] == 'POST')?true:false;
?>
is hetzelfde als dit
1
2
3
<?php
return $_SERVER['REQUEST_METHOD'] == 'POST';
?>
:)
#ANONIEMdinsdag 14 januari 2014 @ 18:33
quote:
0s.gif Op dinsdag 14 januari 2014 11:43 schreef zoem het volgende:

[..]

Deze code
[ code verwijderd ]

is hetzelfde als dit
[ code verwijderd ]

:)
Heel erg waar :P
Ik copy paste vaak mijn oudere classes aangezien de functionaliteit hetzelfde blijft :P
wel een erg domme 'fout'.
Lightdinsdag 14 januari 2014 @ 21:15
quote:
0s.gif Op maandag 13 januari 2014 22:35 schreef zoem het volgende:

[..]

Nadeel is dat $_REQUEST de data uit $_GET, $_POST en $_COOKIE combineert. Dat creëert 2 potentiele problemen:

1) De data van $_COOKIE, $_POST en $_GET overschrijven elkaar als er dezelfde keys bestaan, wat kan leiden tot onverwacht gedrag. De standaarvolgorde is G, P en dan C.
2) Omdat $_COOKIE voorrang heeft op $_GET en $_POST, kan er mogelijk cookiedata op onveilige plekken terechtkomen.

NB: De volgorde en de aanwezigheid van cookiedata hangt af van de php.ini directives.
Je linkt naar de ini directive variables_order, terwijl eigenlijk request_order wordt gebruikt om $_REQUEST te vullen. In beide kun je ook E en S vinden (Environment en Server).
zoemdinsdag 14 januari 2014 @ 21:18
quote:
0s.gif Op dinsdag 14 januari 2014 21:15 schreef Light het volgende:

[..]

Je linkt naar de ini directive variables_order, terwijl eigenlijk request_order wordt gebruikt om $_REQUEST te vullen. In beide kun je ook E en S vinden (Environment en Server).
Heb je helemaal gelijk in, maar:
quote:
request_order string
If this directive is not set, variables_order is used for $_REQUEST contents.
Met variables_order als anchor staan ze allebei in beeld :P Was even uit praktische overweging.
n8nwoensdag 15 januari 2014 @ 12:57
http://www.sitepoint.com/new-features-php-5-6/
wipes66woensdag 15 januari 2014 @ 17:41
quote:
0s.gif Op maandag 13 januari 2014 21:34 schreef Light het volgende:

[..]

Tegenwoordig heeft PHP namespaces om dat soort conflicten te voorkomen.
Ik vind het nogal lelijk in php eerlijk gezegd :P
rekenwonderwoensdag 15 januari 2014 @ 20:07
quote:
0s.gif Op woensdag 15 januari 2014 17:41 schreef wipes66 het volgende:

[..]

Ik vind het nogal lelijk in php eerlijk gezegd :P
Waarom precies?
wipes66woensdag 15 januari 2014 @ 20:47
quote:
0s.gif Op woensdag 15 januari 2014 20:07 schreef rekenwonder het volgende:

[..]

Waarom precies?
Omdat het net lijkt of je een letter escaped zeg maar.
#ANONIEMwoensdag 15 januari 2014 @ 21:25
quote:
0s.gif Op woensdag 15 januari 2014 20:47 schreef wipes66 het volgende:

[..]

Omdat het net lijkt of je een letter escaped zeg maar.
namespaces zijn juist een verademing en ik word er blij van in de code :P
Geeft veel duidelijker weer waar een class toebehoord
rekenwonderwoensdag 15 januari 2014 @ 22:31
De keuze voor de backslash was inderdaad een merkwaardige.
#ANONIEMwoensdag 15 januari 2014 @ 23:16
quote:
0s.gif Op woensdag 15 januari 2014 22:31 schreef rekenwonder het volgende:
De keuze voor de backslash was inderdaad een merkwaardige.
Waar had jij voor gekozen?
rekenwonderdonderdag 16 januari 2014 @ 07:52
quote:
0s.gif Op woensdag 15 januari 2014 23:16 schreef totalvamp het volgende:

[..]

Waar had jij voor gekozen?
Punt. Wat jij?
#ANONIEMdonderdag 16 januari 2014 @ 08:05
quote:
0s.gif Op donderdag 16 januari 2014 07:52 schreef rekenwonder het volgende:

[..]

Punt. Wat jij?
Nadeel is dat de punt ook wordt gebruikt met het koppelen van strings.

Ik vind het zo wel best, voor mij maakt het niet heel veel uit.
KomtTijd...donderdag 16 januari 2014 @ 08:07
¥
slacker_nldonderdag 16 januari 2014 @ 08:17
:: wellicht: Dit::is::Mijn::Namespace::yo
#ANONIEMdonderdag 16 januari 2014 @ 08:23
quote:
0s.gif Op donderdag 16 januari 2014 08:17 schreef slacker_nl het volgende:
:: wellicht: Dit::is::Mijn::Namespace::yo
Je gebruikt dat al voor static calls.
Aetherdonderdag 16 januari 2014 @ 08:43
quote:
0s.gif Op donderdag 16 januari 2014 08:23 schreef totalvamp het volgende:

[..]

Je gebruikt dat al voor static calls.
Net als bij C++ dus, waar :: voor namespaces en statics wordt gebruikt.
slacker_nldonderdag 16 januari 2014 @ 08:45
quote:
0s.gif Op donderdag 16 januari 2014 08:23 schreef totalvamp het volgende:

[..]

Je gebruikt dat al voor static calls.
Dat is in Perl ook zo. Niks geen probleem.
KomtTijd...donderdag 16 januari 2014 @ 08:48
Ohja en een (of twee?) forward slash had ik al een stuk mooier gevonden. Backslash :r
Aetherdonderdag 16 januari 2014 @ 08:52
quote:
14s.gif Op donderdag 16 januari 2014 08:48 schreef KomtTijd... het volgende:
Ohja en een (of twee?) forward slash had ik al een stuk mooier gevonden. Backslash :r
Dan heb je weer een probleem bij berekeningen '10 / 5'.
De backslash is indertijd op het laatst gekozen (2008 IIRC).
#ANONIEMdonderdag 16 januari 2014 @ 09:13
quote:
7s.gif Op donderdag 16 januari 2014 08:43 schreef Aether het volgende:

[..]

Net als bij C++ dus, waar :: voor namespaces en statics wordt gebruikt.
quote:
0s.gif Op donderdag 16 januari 2014 08:45 schreef slacker_nl het volgende:

[..]

Dat is in Perl ook zo. Niks geen probleem.
Ik snap het ook niet dan. maarja bij PHP doen ze wel meer dingen op een andere manier.
Devolutiondonderdag 16 januari 2014 @ 09:33
Het blijft een vies samenraapsel maar ik hou er desondanks alsnog van O+
Aetherdonderdag 16 januari 2014 @ 09:42
Oorspronkelijke voorstellen:
https://wiki.php.net/rfc/namespaceseparator
rekenwondervrijdag 17 januari 2014 @ 22:56
quote:
0s.gif Op donderdag 16 januari 2014 08:05 schreef totalvamp het volgende:

[..]

Nadeel is dat de punt ook wordt gebruikt met het koppelen van strings.
Beetje parser kan dat wel handelen. Dat het namespace-statement het eerste statement in een script moet zijn, zou al genoeg hint moeten zijn voor de parser om het te kunnen handelen.

Maar goed, allemaal details :-) Minder relevant dan het al dan niet hebben van namespaces in een taal.
#ANONIEMzaterdag 18 januari 2014 @ 02:18
quote:
7s.gif Op donderdag 16 januari 2014 09:42 schreef Aether het volgende:
Oorspronkelijke voorstellen:
https://wiki.php.net/rfc/namespaceseparator
Dan is de \ nog de betere met de rest die daar staat...

:)en :> :') .....

[ Bericht 6% gewijzigd door #ANONIEM op 18-01-2014 02:18:29 ]
raptorixzaterdag 18 januari 2014 @ 09:06
quote:
0s.gif Op woensdag 15 januari 2014 21:25 schreef totalvamp het volgende:

[..]

namespaces zijn juist een verademing en ik word er blij van in de code :P
Geeft veel duidelijker weer waar een class toebehoord
Bovendien kunnen sommige classes in meerdere namespaces voorkomen, in een product waar ik veel mee werk komt de Node Class in 3 namespaces voor ;)
#ANONIEMzaterdag 18 januari 2014 @ 12:30
quote:
0s.gif Op zaterdag 18 januari 2014 09:06 schreef raptorix het volgende:

[..]

Bovendien kunnen sommige classes in meerdere namespaces voorkomen, in een product waar ik veel mee werk komt de Node Class in 3 namespaces voor ;)
Hoe krijg je dat voor elkaar :p
raptorixzaterdag 18 januari 2014 @ 13:00
quote:
1s.gif Op zaterdag 18 januari 2014 12:30 schreef totalvamp het volgende:

[..]

Hoe krijg je dat voor elkaar :p
Niet het product wat ik geschreven heb ;)
Maar vanuit backwards compatability is dit soms een logische keuze.
#ANONIEMzaterdag 18 januari 2014 @ 13:13
quote:
0s.gif Op zaterdag 18 januari 2014 13:00 schreef raptorix het volgende:

[..]

Niet het product wat ik geschreven heb ;)
Maar vanuit backwards compatability is dit soms een logische keuze.
Je bedoelt makkelijke keuze :p

Ik kan me niet voorstellen in welk scenario je een class in meerdere namespaces wilt zetten. Dat maakt de namespaces overbodig :p

Iemand hier trouwens ervaring met dependancy injection?
raptorixzaterdag 18 januari 2014 @ 13:24
quote:
1s.gif Op zaterdag 18 januari 2014 13:13 schreef totalvamp het volgende:

[..]

Je bedoelt makkelijke keuze :p

Ik kan me niet voorstellen in welk scenario je een class in meerdere namespaces wilt zetten. Dat maakt de namespaces overbodig :p

Iemand hier trouwens ervaring met dependancy injection?
Product is Umbraco, ze hebben in versie 6 voor een nieuwe API gekozen maar de oude is ook nog vaanwezig vandaar. Ja ik heb ervaring met dependency injection in c#

Wij gebruiken structuremap.
#ANONIEMzaterdag 18 januari 2014 @ 13:33
quote:
0s.gif Op zaterdag 18 januari 2014 13:24 schreef raptorix het volgende:

[..]

Product is Umbraco, ze hebben in versie 6 voor een nieuwe API gekozen maar de oude is ook nog vaanwezig vandaar. Ja ik heb ervaring met dependency injection in c#

Wij gebruiken structuremap.
Ahh op die manier. Blijft een vage oplossing :p

Ik probeer het op mijn project toe te passen, maar totnutoe heb ik alles tot de controller gehaald en dependancies uit config files die met de controllers worden geladen.

Zit nu te kutten met het naar toplevel halen. PHP heeft hier niet echt een goede methode voor
raptorixzaterdag 18 januari 2014 @ 13:48
quote:
1s.gif Op zaterdag 18 januari 2014 13:33 schreef totalvamp het volgende:

[..]

Ahh op die manier. Blijft een vage oplossing :p

Ik probeer het op mijn project toe te passen, maar totnutoe heb ik alles tot de controller gehaald en dependancies uit config files die met de controllers worden geladen.

Zit nu te kutten met het naar toplevel halen. PHP heeft hier niet echt een goede methode voor
Ik heb nog nooit wat met PHP gedaan dus kan je daar niet echt antwoord op geven, in c# is het in ieder geval vrij eenvoudig, een tijdje terug heb ik het serieus toegepast voor een webservice van een grote telecom provider waarvan we wisten dat deze in de loop van de tijd vervangen zou worden door een nieuwe. Geen idee of het gewerkt zou hebben, want de nieuwe webservice is er nooit gekomen ;) Naja komt er wel maar het project gaat eind van de maand over naar andere partij ;)
#ANONIEMzaterdag 18 januari 2014 @ 13:57
quote:
0s.gif Op zaterdag 18 januari 2014 13:48 schreef raptorix het volgende:

[..]

Ik heb nog nooit wat met PHP gedaan dus kan je daar niet echt antwoord op geven, in c# is het in ieder geval vrij eenvoudig, een tijdje terug heb ik het serieus toegepast voor een webservice van een grote telecom provider waarvan we wisten dat deze in de loop van de tijd vervangen zou worden door een nieuwe. Geen idee of het gewerkt zou hebben, want de nieuwe webservice is er nooit gekomen ;) Naja komt er wel maar het project gaat eind van de maand over naar andere partij ;)
In c, java etc heb je inderdaad iets ervoor. In PHP zul je het zelf moeten schrijven.
Tijnzaterdag 18 januari 2014 @ 14:00
quote:
1s.gif Op zaterdag 18 januari 2014 13:57 schreef totalvamp het volgende:

[..]

In c, java etc heb je inderdaad iets ervoor. In PHP zul je het zelf moeten schrijven.
Tenzij je een framework als Symfony2 gebruikt, dan krijg je het kado.
#ANONIEMzaterdag 18 januari 2014 @ 14:11
quote:
14s.gif Op zaterdag 18 januari 2014 14:00 schreef Tijn het volgende:

[..]

Tenzij je een framework als Symfony2 gebruikt, dan krijg je het kado.
Ja dat wel :) ik heb daar ook naar gekeken om die manier zelf te implementeren. Al is voor mij een meer simpele DIC beter.

Ik schrijf liever zelf een framework aangezien ik geen zin heb ik zoveel verschillende andere te leren.
henrivozaterdag 18 januari 2014 @ 14:21
Nog meer gebruikers van Zend Framework 2 hier? :)
Diaboxzaterdag 18 januari 2014 @ 14:57
quote:
0s.gif Op zaterdag 18 januari 2014 14:21 schreef henrivo het volgende:
Nog meer gebruikers van Zend Framework 2 hier? :)
CakePHP hier, was wel van plan de 'overstap 'te maken naar Zend voor m'n reguliere werk waarbij de klant geen voorkeur qua framework heeft.
Rockfirezaterdag 18 januari 2014 @ 15:21
quote:
0s.gif Op zaterdag 18 januari 2014 14:21 schreef henrivo het volgende:
Nog meer gebruikers van Zend Framework 2 hier? :)
Ik heb er voor mijn werk een beetje mee gespeeld, maar we zijn nu toch geswitched naar Symfony 2
#ANONIEMzaterdag 18 januari 2014 @ 15:24
quote:
1s.gif Op zaterdag 18 januari 2014 15:21 schreef Rockfire het volgende:

[..]

Ik heb er voor mijn werk een beetje mee gespeeld, maar we zijn nu toch geswitched naar Symfony 2
Hoe bevalt dat?

Ik vind het altijd een gedoe weer een heel framework te leren.
Maringozaterdag 18 januari 2014 @ 15:53
quote:
1s.gif Op zaterdag 18 januari 2014 15:21 schreef Rockfire het volgende:

[..]

Ik heb er voor mijn werk een beetje mee gespeeld, maar we zijn nu toch geswitched naar Symfony 2
Same here. En bevalt erg goed. :Y
urselzaterdag 18 januari 2014 @ 16:21
quote:
1s.gif Op zaterdag 18 januari 2014 15:24 schreef totalvamp het volgende:

[..]

Hoe bevalt dat?

Ik vind het altijd een gedoe weer een heel framework te leren.
Een eigen framework schrijven is geen gedoel wou je zeggen? :+

Voordeel van de framework is dat er ook online heel veel oplossingen te vinden zijn en anders ook meer dan afdoende hulp kunt vinden. :7
raptorixzaterdag 18 januari 2014 @ 16:29
Trouwens, uberhaupt nog programmen in php :') :') :')
Oh kut verkerde topiique :@ :@ :@
#ANONIEMzaterdag 18 januari 2014 @ 16:30
quote:
0s.gif Op zaterdag 18 januari 2014 16:21 schreef ursel het volgende:

[..]

Een eigen framework schrijven is geen gedoel wou je zeggen? :+

Voordeel van de framework is dat er ook online heel veel oplossingen te vinden zijn en anders ook meer dan afdoende hulp kunt vinden. :7
Nah ik schrijf er 1 in een week of 2. Ze zijn super makkelijk in elkaar te zetten en omdat je het zelf hebt gemaakt hoef je niet te leren hoe en wat om iets te laten werken
raptorixzaterdag 18 januari 2014 @ 16:31
quote:
1s.gif Op zaterdag 18 januari 2014 16:30 schreef totalvamp het volgende:

[..]

Nah ik schrijf er 1 in een week of 2. Ze zijn super makkelijk in elkaar te zetten en omdat je het zelf hebt gemaakt hoef je niet te leren hoe en wat om iets te laten werken
Truckfactor 1? Way to go dude.
Diaboxzaterdag 18 januari 2014 @ 16:39
quote:
0s.gif Op zaterdag 18 januari 2014 16:29 schreef raptorix het volgende:
Trouwens, uberhaupt nog programmen in php :') :') :')
Oh kut verkerde topiique :@ :@ :@
Ach, zolang er nog werk in is en ok betaalt.
Tijnzaterdag 18 januari 2014 @ 16:45
quote:
0s.gif Op zaterdag 18 januari 2014 16:29 schreef raptorix het volgende:
Trouwens, uberhaupt nog programmen in php :') :') :')
Oh kut verkerde topiique :@ :@ :@
Een paar jaar geleden was het idd een beetje suf, maar met de verbeteringen in 5.5 en nieuwe frameworks als Symphony2 en Laravel is het wel weer cool, hoor.
raptorixzaterdag 18 januari 2014 @ 16:46
quote:
10s.gif Op zaterdag 18 januari 2014 16:39 schreef Diabox het volgende:

[..]

Ach, zolang er nog werk in is en ok betaalt.
Ja en zolang je het lekker vind om je zelf te martelen, waarom geen PHP?
Sjonge jonge ik heb collega die 5 jaar lang PHP gedaan heeft, kwam 1 maandje bij ons c# doen, en gelijk genezen, zit nu in een scrum team bij 1 van leukste projecten van nederland en wil nooit meer terug.
raptorixzaterdag 18 januari 2014 @ 16:47
quote:
14s.gif Op zaterdag 18 januari 2014 16:45 schreef Tijn het volgende:

[..]

Een paar jaar geleden was het idd een beetje suf, maar met de verbeteringen in 5.5 en nieuwe frameworks als Symphony2 en Laravel is het wel weer cool, hoor.
Ooit wel eens gebruik gemaakt van Linq in c#? Geloof me je wilt nooit meer terug.
Diaboxzaterdag 18 januari 2014 @ 16:48
quote:
0s.gif Op zaterdag 18 januari 2014 16:46 schreef raptorix het volgende:

[..]

Ja en zolang je het lekker vind om je zelf te martelen, waarom geen PHP?
Sjonge jonge ik heb collega die 5 jaar lang PHP gedaan heeft, kwam 1 maandje bij ons c# doen, en gelijk genezen, zit nu in een scrum team bij 1 van leukste projecten van nederland en wil nooit meer terug.
Ik krijg aan de lopende band opdrachten van 'n intermediair in PHP, dus vandaar. C# heb ik vooralsnog weinig ervaring mee, maar staat wel op de planning. Loop binnenkort ook stage binnen 'n joint venture van Microsoft, dus wie weet.
raptorixzaterdag 18 januari 2014 @ 16:51
quote:
0s.gif Op zaterdag 18 januari 2014 16:48 schreef Diabox het volgende:

[..]

Ik krijg aan de lopende band opdrachten van 'n intermediair in PHP, dus vandaar. C# heb ik vooralsnog weinig ervaring mee, maar staat wel op de planning. Loop binnenkort ook stage binnen 'n joint venture van Microsoft, dus wie weet.
Op zich niks mis met PHP (mits je heel goed weet wat je doet), maar het is allemal zoveel omslachtiger, ik zou zeggen, ga avondje c# doen en dan merk je al dat zoveel dingen handiger gaan. Ik zou zeggen gewoon doen!
Diaboxzaterdag 18 januari 2014 @ 16:53
quote:
0s.gif Op zaterdag 18 januari 2014 16:51 schreef raptorix het volgende:

[..]

Op zich niks mis met PHP (mits je heel goed weet wat je doet), maar het is allemal zoveel omslachtiger, ik zou zeggen, ga avondje c# doen en dan merk je al dat zoveel dingen handiger gaan. Ik zou zeggen gewoon doen!
Is vooral ook 'n kwestie van tijdsgebrek aan mijn kant vooralsnog, zodra er wat tijd vrijkomt begin ik eraan.
raptorixzaterdag 18 januari 2014 @ 16:57
quote:
14s.gif Op zaterdag 18 januari 2014 16:53 schreef Diabox het volgende:

[..]

Is vooral ook 'n kwestie van tijdsgebrek aan mijn kant vooralsnog, zodra er wat tijd vrijkomt begin ik eraan.
Leuk, Visual Studio Express is trouwens gratis te downloaden :)
Mocht je toch in .net gaan verdiepen kijk dan ook even naar Umbraco.
Ik denk dat je dat erg leuk gaat vinden.
#ANONIEMzaterdag 18 januari 2014 @ 17:02
Allemaal leuk en aardig maar je hebt aan c# geen hol voor websites..
Java is geen optie,te traag voor mij. Asp en .net zijn gezwellen. Dan blijft er niet veel meer over.
Diaboxzaterdag 18 januari 2014 @ 17:02
quote:
0s.gif Op zaterdag 18 januari 2014 16:57 schreef raptorix het volgende:

[..]

Leuk, Visual Studio Express is trouwens gratis te downloaden :)
Mocht je toch in .net gaan verdiepen kijk dan ook even naar Umbraco.
Ik denk dat je dat erg leuk gaat vinden.
Thanks, heb Umbraco gebookmarked, die kende ik nog niet.

Wat is eigenlijk gebruikelijk qua DBMS binnen C#? MySQL, MS SQL, of is er geen specifieke?
raptorixzaterdag 18 januari 2014 @ 17:04
quote:
0s.gif Op zaterdag 18 januari 2014 17:02 schreef Diabox het volgende:

[..]

Thanks, heb Umbraco gebookmarked, die kende ik nog niet.

Wat is eigenlijk gebruikelijk qua DBMS binnen C#? MySQL, MS SQL, of is er geen specifieke?
MS SQL, en dan kan je voor 99 procent van de gevallen af met de gratis SQL express, eventueel Mongo DB , daar is ook een mooie connector voor :) Als je hem installeert, vergeet dan niet de download met management tools te doen.
raptorixzaterdag 18 januari 2014 @ 17:06
quote:
0s.gif Op zaterdag 18 januari 2014 17:02 schreef totalvamp het volgende:
Allemaal leuk en aardig maar je hebt aan c# geen hol voor websites..
Java is geen optie,te traag voor mij. Asp en .net zijn gezwellen. Dan blijft er niet veel meer over.
Hoezo C# geen hol voor websites? Daarnaast wil ik wel eens weten waarom je java te traag vind voor websites, op het moment dat jouw taal voor websites van invloed is op de snelheid dan vraag ik me af wat voor high performance websites je maakt, je moet wel een enorme baas zijn dat de taal waarin je programmeert invloed heeft op de websites die je maakt.
Tijnzaterdag 18 januari 2014 @ 17:44
quote:
0s.gif Op zaterdag 18 januari 2014 16:47 schreef raptorix het volgende:

[..]

Ooit wel eens gebruik gemaakt van Linq in c#? Geloof me je wilt nooit meer terug.
Nee, wat is het?

Ik overweeg sowieso geen C#/.Net trouwens, want ik gebruik geen Windows.
#ANONIEMzaterdag 18 januari 2014 @ 18:00
quote:
0s.gif Op zaterdag 18 januari 2014 17:06 schreef raptorix het volgende:

[..]

Hoezo C# geen hol voor websites? Daarnaast wil ik wel eens weten waarom je java te traag vind voor websites, op het moment dat jouw taal voor websites van invloed is op de snelheid dan vraag ik me af wat voor high performance websites je maakt, je moet wel een enorme baas zijn dat de taal waarin je programmeert invloed heeft op de websites die je maakt.
Je kan niet in c een website programmeren, ja deels met visual studio. Zitten alleen teveel nadelen aan asp pagina's.
Java werkt gewoon traag, neemt veel resources in beslag. Als je een site hebt met 200000 hits per dag, maakt elke seconde parsetijd een verschil.

Alles moet zo goed mogelijk werken met zo min mogelijk resources.

[ Bericht 3% gewijzigd door #ANONIEM op 18-01-2014 18:21:42 ]
raptorixzaterdag 18 januari 2014 @ 23:25
quote:
1s.gif Op zaterdag 18 januari 2014 18:00 schreef totalvamp het volgende:

[..]

Je kan niet in c een website programmeren, ja deels met visual studio. Zitten alleen teveel nadelen aan asp pagina's.
Java werkt gewoon traag, neemt veel resources in beslag. Als je een site hebt met 200000 hits per dag, maakt elke seconde parsetijd een verschil.

Alles moet zo goed mogelijk werken met zo min mogelijk resources.

200.000 :') :') :') :') :')
Zo heey wat een traffic zeg! Als ik je nou vertel dat wij sites bouwen die 300.000 visitors per dag hebben, en dat dat prima draait in .net, dan zullen we wel enorm dom zijn. :') :') :')

Product wat ik voornamelijk gebruikt werd o.a gebruikt voor live verslag van Red Bull Stratos, op toppunt 5 miljoen concurrent users, en dat in .net/c# sjonge jonge.
henrivozondag 19 januari 2014 @ 00:07
Is dit nou trouwens het PHP/MySQL topic of het .NET topic? :?
rekenwonderzondag 19 januari 2014 @ 00:09
Sowieso is taalbashing iets voor twaalfjarigen.
Chandlerzondag 19 januari 2014 @ 00:16
quote:
1s.gif Op zondag 19 januari 2014 00:07 schreef henrivo het volgende:
Is dit nou trouwens het PHP/MySQL topic of het .NET topic? :?
Nee dit is het topic, kijk mijn vleesboom is veel groter dan jou Pinkeltje topic.. :+

300k hits, netjes... 200k ook erg netjes.. ben blij als ik de 10k haal :{
bondagezondag 19 januari 2014 @ 00:18
quote:
0s.gif Op zaterdag 18 januari 2014 16:57 schreef raptorix het volgende:

[..]

Leuk, Visual Studio Express is trouwens gratis te downloaden :)
Mocht je toch in .net gaan verdiepen kijk dan ook even naar Umbraco.
Ik denk dat je dat erg leuk gaat vinden.
Ik heb in .net gewerkt en heb toch liever PHP, dat is echter een persoonlijke keuze, dat jij daar anders over denkt is ook niets mis mee.

PHP is erg populair omdat het op bijna alle platformen te gebruiken is, .NET is eventueel wel op Linux te draaien maar schijnt lang niet zo goed te werken als de Windows versie omdat niet alle functionaliteit aanwezig is. Ook kun je PHP eventueel naar wens aanpassen omdat het allemaal open-source is.

Een nadeel van PHP is wel dat het heel erg makkelijk is om slordige code te schijven en beveiligingsgaten te creëren. Er zijn gelukkig wel hele mooie frameworks te verkrijgen die deze problemen grotendeels afvangen, echter zullen de beginners daar niet zo snel mee aan de gang gaan omdat het enige kennis van de taal vereist.

Wat betreft snelheid zijn beide redelijk gelijk aan elkaar (http://www.comentum.com/php-vs-asp.net-comparison.html), in sommige gevallen is PHP + MySQL iets sneller dan .NET + MSSQL maar scheelt niet veel.

Ik vind het grootste voordeel van PHP dat het volledig gratis te gebruiken is. Er zijn veel Linuxdistributies speciaal voor servers en daar zit alle functionaliteit ingebouwd. Even Webmin erop zetten, configureren en gaan.
raptorixzondag 19 januari 2014 @ 01:40
quote:
14s.gif Op zondag 19 januari 2014 00:18 schreef bondage het volgende:

[..]

Ik heb in .net gewerkt en heb toch liever PHP, dat is echter een persoonlijke keuze, dat jij daar anders over denkt is ook niets mis mee.

PHP is erg populair omdat het op bijna alle platformen te gebruiken is, .NET is eventueel wel op Linux te draaien maar schijnt lang niet zo goed te werken als de Windows versie omdat niet alle functionaliteit aanwezig is. Ook kun je PHP eventueel naar wens aanpassen omdat het allemaal open-source is.

Een nadeel van PHP is wel dat het heel erg makkelijk is om slordige code te schijven en beveiligingsgaten te creëren. Er zijn gelukkig wel hele mooie frameworks te verkrijgen die deze problemen grotendeels afvangen, echter zullen de beginners daar niet zo snel mee aan de gang gaan omdat het enige kennis van de taal vereist.

Wat betreft snelheid zijn beide redelijk gelijk aan elkaar (http://www.comentum.com/php-vs-asp.net-comparison.html), in sommige gevallen is PHP + MySQL iets sneller dan .NET + MSSQL maar scheelt niet veel.

Ik vind het grootste voordeel van PHP dat het volledig gratis te gebruiken is. Er zijn veel Linuxdistributies speciaal voor servers en daar zit alle functionaliteit ingebouwd. Even Webmin erop zetten, configureren en gaan.
Is platform dan nog zo belangrijk? Ik ken maar weinig organisaties die zich echt druk maken over het platform waarop het draait... Komt misschien ook wel omdat onze klanten compleet ontzorgt willen worden en zich laten leiden in onze adviesen, moet zeggen dat het merendeel wel op windows draait, maar dat komt eerder door pakket keuze. En och snelheid, ik kan je zeggen dat op moment dat je zorgen moet gaan maken over performance van code je dermate grote site hebt dat je wel expertise genoeg kunt inhuren :) Mijn ervaring is dat 99% van de performance afhankelijk is van je database, en ook daar geld weer, dat je tegenwoordig wel hele gekke dingen moet gaan doen wil het een issue zijn. Zolang 99 procent van de websites nog 60 procent winst hebben in de frontend hoeven wij ons geen zorgen te maken ;)
henrivozondag 19 januari 2014 @ 03:09
Zomaar een vraag uit interesse; gebruiken jullie bij (hobbymatige) projecten Nederlandse of Engelse variabelennamen? En waarden in databases

Ik vraag het me af omdat ik benieuwd ben wat praktischer is :)

Wat zijn jullie voor en tegens?
Diaboxzondag 19 januari 2014 @ 03:29
Altijd Engels, ook bij hobbymatige projecten die nooit iemand anders onder ogen zal krijgen. Programmeertalen zijn in het Engels; waarom zou ik er NederEngels van maken door zelf wat Nederlands toe te voegen? Ik heb echt nog nooit ook maar iets in het Nederlands geprogrammeerd. Staat ook voor geen meter Nederlands in code :')
BBQSausagezondag 19 januari 2014 @ 03:33
Altijd Engels. Sowieso is het handig als je daarin consequent bent, en niet per project andere werkwijzen hanteert.
#ANONIEMzondag 19 januari 2014 @ 03:37
quote:
1s.gif Op zondag 19 januari 2014 03:09 schreef henrivo het volgende:
Zomaar een vraag uit interesse; gebruiken jullie bij (hobbymatige) projecten Nederlandse of Engelse variabelennamen? En waarden in databases

Ik vraag het me af omdat ik benieuwd ben wat praktischer is :)

Wat zijn jullie voor en tegens?
Engels.

Ook omdat engelse functienamen niet mooi staan met nederlandse variabelen
henrivozondag 19 januari 2014 @ 04:57
Oké, thx guys :)
#ANONIEMzondag 19 januari 2014 @ 07:47
quote:
0s.gif Op zaterdag 18 januari 2014 23:25 schreef raptorix het volgende:

[..]

200.000 :') :') :') :') :')
Zo heey wat een traffic zeg! Als ik je nou vertel dat wij sites bouwen die 300.000 visitors per dag hebben, en dat dat prima draait in .net, dan zullen we wel enorm dom zijn. :') :') :')

Product wat ik voornamelijk gebruikt werd o.a gebruikt voor live verslag van Red Bull Stratos, op toppunt 5 miljoen concurrent users, en dat in .net/c# sjonge jonge.
Moest 2000000 zijn :') grootste f1 site toendertijd ook met live verslagen etc.

Ik ken voorderest niemand die te spreken is over .net, niet dat PHP perfect is (verre van). Er zitten gewoon teveel nadelen aan .net, naast de belachelijke licencie kosten en platform afhankelijkheid.

Heeft geen zin een php vs .net discussie te starten in een PHP topic. Laten we het bij PHP houden.


Ik ben 1x een site tegengekomen waarbij alles in het nederlands was, sowieso duidelijk een amateur site.
Ik kon die code echt niet aan zien en het deed me veel pijn dat er op die manier geprogrammeerd werd.

Sowieso zie ik soms op fora nog mensen scripts posten met code uit de oertijd en niemand die er wat over zegt.

Hier een vb
http://www.phphulp.nl/php/forum/topic/unexpected-tstring/93554/
raptorixzondag 19 januari 2014 @ 11:11
quote:
1s.gif Op zondag 19 januari 2014 07:47 schreef totalvamp het volgende:

[..]

Moest 2000000 zijn :') grootste f1 site toendertijd ook met live verslagen etc.

Ik ken voorderest niemand die te spreken is over .net, niet dat PHP perfect is (verre van). Er zitten gewoon teveel nadelen aan .net, naast de belachelijke licencie kosten en platform afhankelijkheid.

Heeft geen zin een php vs .net discussie te starten in een PHP topic. Laten we het bij PHP houden.

Ik ben 1x een site tegengekomen waarbij alles in het nederlands was, sowieso duidelijk een amateur site.
Ik kon die code echt niet aan zien en het deed me veel pijn dat er op die manier geprogrammeerd werd.

Sowieso zie ik soms op fora nog mensen scripts posten met code uit de oertijd en niemand die er wat over zegt.

Hier een vb
http://www.phphulp.nl/php/forum/topic/unexpected-tstring/93554/
Gast dit is laatste post die ik er besteed, maar je hebt kennelijk geen enkele kennis van .net/c#, en belachelijke licentiekosten? 7.50 per maand is inderdaad echt enorm!
boem-dikkiezondag 19 januari 2014 @ 13:14
Dit topic. _O_
#ANONIEMzondag 19 januari 2014 @ 14:00
quote:
0s.gif Op zondag 19 januari 2014 11:11 schreef raptorix het volgende:

[..]

Gast dit is laatste post die ik er besteed, maar je hebt kennelijk geen enkele kennis van .net/c#, en belachelijke licentiekosten? 7.50 per maand is inderdaad echt enorm!
Ja want een windows server is gratis :') maar $6200, tenzij je de ruimte huurt. Lekker goedkoop dus. Misschien als je kijkt over een lang termijn dat het meevalt, maar vergeleken een unix omgeving is windows gewoon duur.

.net heeft misschien geen licencie maar de omgeving waarvan je afhankelijk bent wel. Tenzij je allerlei andere vage software gaat gebruiken om hetzelfde proberen te bereiken.

Als je gaat zeggen dat een flinke windows omgeving niet duur is, heb je een zak over je kop.
raptorixzondag 19 januari 2014 @ 14:05
quote:
1s.gif Op zondag 19 januari 2014 14:00 schreef totalvamp het volgende:

[..]

Ja want een windows server is gratis :') maar $6200, tenzij je de ruimte huurt. Lekker goedkoop dus. Misschien als je kijkt over een lang termijn dat het meevalt, maar vergeleken een unix omgeving is windows gewoon duur.

.net heeft misschien geen licencie maar de omgeving waarvan je afhankelijk bent wel. Tenzij je allerlei andere vage software gaat gebruiken om hetzelfde proberen te bereiken.

Als je gaat zeggen dat een flinke windows omgeving niet duur is, heb je een zak over je kop.
Als licentiekosten een rol spelen dan werk je waarschijnlijk wel voor hele kleine partijtjes, bovendien zijn licentie kosten maar een heel heel klein deel van de operationele kosten. De ontwikkel kosten van .net/c# zijn door handige functionaliteiten zoals linq zoveel lager dat je die kosten er binnen 2 dagen uit hebt, of loop je nog steeds vrolijk loopjes te maken over je database?
#ANONIEMzondag 19 januari 2014 @ 14:12
quote:
0s.gif Op zondag 19 januari 2014 14:05 schreef raptorix het volgende:

[..]

Als licentiekosten een rol spelen dan werk je waarschijnlijk wel voor hele kleine partijtjes, bovendien zijn licentie kosten maar een heel heel klein deel van de operationele kosten. De ontwikkel kosten van .net/c# zijn door handige functionaliteiten zoals linq zoveel lager dat je die kosten er binnen 2 dagen uit hebt, of loop je nog steeds vrolijk loopjes te maken over je database?
Het was niet een heel groot bedrijf. (40man met 20 servers en 4 load balancers). Toen ik daar begon hebben ze gevraagd om te kijken naar andere OS oplossing naast freeBSD. Daar kwam windows uit als niet te doen. Teveel onderhoud vergeleken unix, constant een windows expert nodig.

Ja want je hebt geen ORM voor PHP ofzo... Ik denk dat er meer oplossingen te vinden zijn voor PHP dan voor .NET

Ik heb even snel gekeken in de msdn, maar ik zie het voordeel tegenover andere oplossingen niet echt hier.

Geef eens een concreet voorbeeld waarom linq beter zou zijn dan een php orm.
Rockfirezondag 19 januari 2014 @ 14:14
Ik dacht dat dit het PHP/(My)SQL topic was? Kan dat geruzie over wat beter is, PHP of .NET verplaatsen naar een apart topic? Ik word er een beetje moe van...
#ANONIEMzondag 19 januari 2014 @ 14:19
quote:
18s.gif Op zondag 19 januari 2014 14:14 schreef Rockfire het volgende:
Ik dacht dat dit het PHP/(My)SQL topic was? Kan dat geruzie over wat beter is, PHP of .NET verplaatsen naar een apart topic? Ik word er een beetje moe van...
Ruzie !== discussie

Ik wil gewoon weten waarom .net beter zou moeten zijn dan PHP. Hij wilde hier mensen aan .net laten beginnen.

Wat denken jullie van Dependancy Injection d.m.v. config files die ingeladen worden met die classe?
slacker_nlzondag 19 januari 2014 @ 14:21
quote:
0s.gif Op zondag 19 januari 2014 03:29 schreef Diabox het volgende:
Altijd Engels, ook bij hobbymatige projecten die nooit iemand anders onder ogen zal krijgen. Programmeertalen zijn in het Engels; waarom zou ik er NederEngels van maken door zelf wat Nederlands toe te voegen? Ik heb echt nog nooit ook maar iets in het Nederlands geprogrammeerd. Staat ook voor geen meter Nederlands in code :')
Dan moet je eens voor Nederlandse toko's gaan werken waar de voertaal Nederlands is. Dan kom je het vaak genoeg tegen. Best apart kan ik je vertellen. Je docs zijn Engels, je releasenotes Nederlands, je code Dunglish :D

Fransen kunnen er ook wat van.. je krijgt dan echt leuke Franstalige foutmeldingen.. hehehe.
#ANONIEMzondag 19 januari 2014 @ 14:23
quote:
0s.gif Op zondag 19 januari 2014 14:21 schreef slacker_nl het volgende:

[..]

Dan moet je eens voor Nederlandse toko's gaan werken waar de voertaal Nederlands is. Dan kom je het vaak genoeg tegen. Best apart kan ik je vertellen. Je docs zijn Engels, je releasenotes Nederlands, je code Dunglish :D

Fransen kunnen er ook wat van.. je krijgt dan echt leuke Franstalige foutmeldingen.. hehehe.
THE HORROR!
Tijnzondag 19 januari 2014 @ 14:33
quote:
0s.gif Op zondag 19 januari 2014 14:05 schreef raptorix het volgende:

[..]

De ontwikkel kosten van .net/c# zijn door handige functionaliteiten zoals linq zoveel lager dat je die kosten er binnen 2 dagen uit hebt, of loop je nog steeds vrolijk loopjes te maken over je database?
Wat is het verschil tussen Linq en zoiets als Doctrine?
raptorixzondag 19 januari 2014 @ 15:07
quote:
5s.gif Op zondag 19 januari 2014 14:33 schreef Tijn het volgende:

[..]

Wat is het verschil tussen Linq en zoiets als Doctrine?
Doctrine wat ik voor zover zie is geen native onderdeel van een taal, linq is dat wel voor c# wat meestal belangrijke peformance winst bied. Linq gaat veel verder als een ORM je kunt bijvoorbeeld direct linq queries doen op een array, list of dctionary, geloof me het is enorm handig, en met tools als resharper kun je bijvoorbeeld een loop gelijk converten naar een linq query.
#ANONIEMzondag 19 januari 2014 @ 15:10
quote:
0s.gif Op zondag 19 januari 2014 15:07 schreef raptorix het volgende:

[..]

Doctrine wat ik voor zover zie is geen native onderdeel van een taal, linq is dat wel voor c# wat meestal belangrijke peformance winst bied. Linq gaat veel verder als een ORM je kunt bijvoorbeeld direct linq queries doen op een array, list of dctionary, geloof me het is enorm handig, en met tools als resharper kun je bijvoorbeeld een loop gelijk converten naar een linq query.
Dat kan php ook het zit alleen niet helemaal standaard in de taal.
raptorixzondag 19 januari 2014 @ 15:11
quote:
1s.gif Op zondag 19 januari 2014 14:19 schreef totalvamp het volgende:

[..]

Ruzie !== discussie

Ik wil gewoon weten waarom .net beter zou moeten zijn dan PHP. Hij wilde hier mensen aan .net laten beginnen.

Wat denken jullie van Dependancy Injection d.m.v. config files die ingeladen worden met die classe?
Ik zeg niet dat PHP perse slechter is als .net/c# ik zeg alleen dat het veel minder efficient werkt en dat je veel tijd kwijt bent aan zaken waar je in .net geen omkijken naar hebt. Echter jij bent zo stellig dat .net/c# niet voldoet. Daarnaast begin je over zaken als licentiekosten, lol echt sorry hoor maar als je over dit soort dingen praat dan neem ik je echt niet serieus. Een beetje developer kost 1000 euro per dag, een klein team dus 5K, op het moment dat je 2 dagen bespaart met fatsoenlijke tooling heb je het geld er al uit.
raptorixzondag 19 januari 2014 @ 15:12
quote:
1s.gif Op zondag 19 januari 2014 15:10 schreef totalvamp het volgende:

[..]

Dat kan php ook het zit alleen niet helemaal standaard in de taal.
En hoe ver gaat dat? Ook zaken zoals aggregates?
#ANONIEMzondag 19 januari 2014 @ 15:14
quote:
0s.gif Op zondag 19 januari 2014 15:12 schreef raptorix het volgende:

[..]

En hoe ver gaat dat? Ook zaken zoals aggregates?
Yep je hebt standaard interfaces die je kunt implementeren.

http://www.php.net/manual/en/class.iteratoraggregate.php
raptorixzondag 19 januari 2014 @ 15:19
quote:
1s.gif Op zondag 19 januari 2014 15:14 schreef totalvamp het volgende:

[..]

Yep je hebt standaard interfaces die je kunt implementeren.

http://www.php.net/manual/en/class.iteratoraggregate.php
Ziet er wel netjes uit, maar ik vraag me dan af waarom dit soort dingen niet gewoon native in PHP zitten, het zijn toch dingen die je in vrijwel elk stukje code nodig hebt (of wilt hebben).

Maar goed dit is even mijn laatste post mbt .net want geen zin om dit topic te vervuilen.
#ANONIEMzondag 19 januari 2014 @ 15:23
quote:
0s.gif Op zondag 19 januari 2014 15:19 schreef raptorix het volgende:

[..]

Ziet er wel netjes uit, maar ik vraag me dan af waarom dit soort dingen niet gewoon native in PHP zitten, het zijn toch dingen die je in vrijwel elk stukje code nodig hebt (of wilt hebben).

Maar goed dit is even mijn laatste post mbt .net want geen zin om dit topic te vervuilen.
Het is toch native? De reden dat je niet een standaard classe hebt, is omdat PHP flexibel is in implementatie. Wat voor de 1 werkt, gaat niet werken voor een ander.
zoemzondag 19 januari 2014 @ 15:26
quote:
0s.gif Op zondag 19 januari 2014 15:07 schreef raptorix het volgende:

[..]

Doctrine wat ik voor zover zie is geen native onderdeel van een taal, linq is dat wel voor c# wat meestal belangrijke peformance winst bied. Linq gaat veel verder als een ORM je kunt bijvoorbeeld direct linq queries doen op een array, list of dctionary, geloof me het is enorm handig, en met tools als resharper kun je bijvoorbeeld een loop gelijk converten naar een linq query.
Doctrine en LINQ zijn twee totaal verschillende dingen. De enige overeenkomst is dat ze beide queries gebruiken. Doctrine is een object-relation mapper en biedt een abstractielaag tussen de domain entities en de opslag. De entiteit User hoeft en moet niet weten hoe zijn eigen data opgeslagen of opgehaald wordt. Daar zorgt de mapper voor. LINQ biedt een standaardwijze om queries uit te voeren op datastructuren, waarbij de data van uiteenlopende bronnen kan komen zoals lijsten, databaseresultaten, xml-bestanden.
zoemzondag 19 januari 2014 @ 15:31
Wat betreft de php/C# discussie: use the right tool for the right job :P
raptorixzondag 19 januari 2014 @ 16:00
quote:
0s.gif Op zondag 19 januari 2014 15:26 schreef zoem het volgende:

[..]

Doctrine en LINQ zijn twee totaal verschillende dingen. De enige overeenkomst is dat ze beide queries gebruiken. Doctrine is een object-relation mapper en biedt een abstractielaag tussen de domain entities en de opslag. De entiteit User hoeft en moet niet weten hoe zijn eigen data opgeslagen of opgehaald wordt. Daar zorgt de mapper voor. LINQ biedt een standaardwijze om queries uit te voeren op datastructuren, waarbij de data van uiteenlopende bronnen kan komen zoals lijsten, databaseresultaten, xml-bestanden.
Dat was inderdaad ook mijn indruk, overigens ben ik niet zo een fan van ORM mappers, tenzij je heel goed weet waar je mee bezig bent, anders gezegt, je datamodel moet al geoptimaliseerd zijn, anders is het gebruik van ORM levensgevaarlijk. Voor een niet nader te noemen site hebben we het gebruikt, maar wat we dus deden was een aparte database maken waar de ORM op aangesloten was, ik zie nog wel eens voorbeelden waar men ORM mappers inzet op relationele databases inclusief veel joins over tables, geloof me daar ga je echt op je bek als je veel load krijgt.
#ANONIEMzondag 19 januari 2014 @ 16:03
quote:
0s.gif Op zondag 19 januari 2014 16:00 schreef raptorix het volgende:

[..]

Dat was inderdaad ook mijn indruk, overigens ben ik niet zo een fan van ORM mappers, tenzij je heel goed weet waar je mee bezig bent, anders gezegt, je datamodel moet al geoptimaliseerd zijn, anders is het gebruik van ORM levensgevaarlijk. Voor een niet nader te noemen site hebben we het gebruikt, maar wat we dus deden was een aparte database maken waar de ORM op aangesloten was, ik zie nog wel eens voorbeelden waar men ORM mappers inzet op relationele databases inclusief veel joins over tables, geloof me daar ga je echt op je bek als je veel load krijgt.
Je moet inderdaad je database al zo perfect mogelijk hebben opgezet, daarom mongoDB :P
raptorixzondag 19 januari 2014 @ 16:09
quote:
1s.gif Op zondag 19 januari 2014 16:03 schreef totalvamp het volgende:

[..]

Je moet inderdaad je database al zo perfect mogelijk hebben opgezet, daarom mongoDB :P
Jup, in die tijd was nosql nog niet zo ver, wat we deden was dat we alle data platgeslagen hadden in views, beide voor search results en voor detail objects, beetje het idee van nosql maar dan gewoon een normale database ;)
#ANONIEMzondag 19 januari 2014 @ 16:28
quote:
0s.gif Op zondag 19 januari 2014 16:09 schreef raptorix het volgende:

[..]

Jup, in die tijd was nosql nog niet zo ver, wat we deden was dat we alle data platgeslagen hadden in views, beide voor search results en voor detail objects, beetje het idee van nosql maar dan gewoon een normale database ;)
Wij gebruikten serialized bestanden om de database wat ademruimte te geven. Die op een aparte file server. Soort van cache :/

Hoera voor nosql!
Tijnzondag 19 januari 2014 @ 16:32
Ik snap nog steeds niet wat Linq nou is.
Aetherzondag 19 januari 2014 @ 16:40
quote:
5s.gif Op zondag 19 januari 2014 16:32 schreef Tijn het volgende:
Ik snap nog steeds niet wat Linq nou is.
Samengevat: een taaluitbreiding om diverse gegevensbronnen te doorzoeken, filteren en te ordenen. Er zijn ook PHP-implementaties van.

Vb van Wikipedia:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
List<int> Numbers = new List<int>() {1,2,3,4}; // list with 4 numbers
 
// query is defined but not evaluated
var query = from x in Numbers
            select x;
 
Numbers.Add(5); // add a 5th number
 
// now the query gets evaluated
Console.WriteLine(query.Count()); // 5
 
Numbers.Add(6); // add a 6th number
 
Console.WriteLine(query.Count()); // 6
1
2
3
4
5
6
7
8
var results =  from c in SomeCollection
               where c.SomeProperty < 10
               select new {c.SomeProperty, c.OtherProperty};
 
foreach (var result in results)
{
        Console.WriteLine(result);
}
raptorixzondag 19 januari 2014 @ 16:52
quote:
5s.gif Op zondag 19 januari 2014 16:32 schreef Tijn het volgende:
Ik snap nog steeds niet wat Linq nou is.
Komt erop neer dat je direct gegevens collecties kunt querien net zoals je dat met een database doet, ik vind het zelf 1 van de meest besparende zaken in mijn werkzaamheden. Als je er eenmaal mee gewerkt hebt wil je echt niet meer terug, overigens werk ik in mijn team met 2 voormaal php developers die c# binnen 2 maandjes goed onder de knie hadden, en echt niet meer terug wilden ;)
henrivozondag 19 januari 2014 @ 21:19
Kan iemand mij nou voor eens en voor altijd uitleggen waarom de hele wereld nou zo lyrisch lijkt te zijn over dat Doctrine? Snap er de ballen van :')
rekenwondermaandag 20 januari 2014 @ 08:22
quote:
1s.gif Op zondag 19 januari 2014 16:28 schreef totalvamp het volgende:
Hoera voor nosql!
You don't need it.
slacker_nlmaandag 20 januari 2014 @ 08:34
quote:
0s.gif Op zondag 19 januari 2014 15:31 schreef zoem het volgende:
Wat betreft de php/C# discussie: use the right tool for the right job :P
Daarom gebruik ik Perl 8-)
Maringomaandag 20 januari 2014 @ 09:12
quote:
0s.gif Op zondag 19 januari 2014 21:19 schreef henrivo het volgende:
Kan iemand mij nou voor eens en voor altijd uitleggen waarom de hele wereld nou zo lyrisch lijkt te zijn over dat Doctrine? Snap er de ballen van :')
Kortgezegd zorgt Doctrine ervoor dat je code met de database kan praten in de vorm van objecten. Als je aan één van beide kanten iets veranderd, hoef je alleen je Doctrine aan te passen. Dat is doorgaans een stuk minder en ook overzichtelijker werk dan in de database zelf klooien.

Ik begon ooit met Hibernate voor Java, die doet praktisch hetzelfde. Toen was ik er ook sceptisch over. Maar als je het eenmaal gebruikt, dan is het echt wel heerlijk. :Y
KomtTijd...maandag 20 januari 2014 @ 09:15
sowieso is het moeilijk relaxed al je data direct in objecen beschikbaar te hebben.
In het begin is het even wennen maar als je de draai te pakken hebt wil je nooit meer anders.
Scorpiemaandag 20 januari 2014 @ 09:16
quote:
0s.gif Op zondag 19 januari 2014 21:19 schreef henrivo het volgende:
Kan iemand mij nou voor eens en voor altijd uitleggen waarom de hele wereld nou zo lyrisch lijkt te zijn over dat Doctrine? Snap er de ballen van :')
Je hebt gelijk, OO is overrated.
Sitethiefmaandag 20 januari 2014 @ 10:12
quote:
0s.gif Op zondag 19 januari 2014 14:21 schreef slacker_nl het volgende:

[..]

Dan moet je eens voor Nederlandse toko's gaan werken waar de voertaal Nederlands is. Dan kom je het vaak genoeg tegen. Best apart kan ik je vertellen. Je docs zijn Engels, je releasenotes Nederlands, je code Dunglish :D

Fransen kunnen er ook wat van.. je krijgt dan echt leuke Franstalige foutmeldingen.. hehehe.
Ik heb in een ver verleden eens voor een Duits bedrijf JSP geschreven, daar waren niet alleen de variabelen en comments in het Duits, deel van JSP was zelf in het Duits veranderd. Abfrage ipv Query, Schleife ipv Loop etc... maar dit was maar voor 50% doorgevoerd wat hele rare code produceerde.

:r .

Edit: voorbeeldje uit mijn mail gevist (9 jaar geleden door een collega geschreven)
1
2
3
4
5
6
7
8
9
10
11
 Abfrage qryMenu = new Abfrage("jdbc/kantine","select description, to_char(menu_date,'dd.mm.yyyy') from menu where to_char(menu_date,'yyyy.mm.dd') "+
                                                   " = to_char(sysdate+"+iDifferenz+",'yyyy.mm.dd')  and flag = 1");
      ResultSet resultMenu = qryMenu.abfrageAusfuehren();

      while(resultMenu != null && resultMenu.next()) {

          strMenue = resultMenu.getString(1);
          strDate  = resultMenu.getString(2);
      }

      qryMenu.abfrageSchliessen();


[ Bericht 38% gewijzigd door Sitethief op 20-01-2014 10:18:49 ]
KomtTijd...maandag 20 januari 2014 @ 10:14
Ik moet bekennen dat ik zelf ook weleens terugval op Nederlands als ik niet zo snel op een goeie engelse term kan komen ;(
Tijnmaandag 20 januari 2014 @ 10:25
quote:
14s.gif Op maandag 20 januari 2014 10:14 schreef KomtTijd... het volgende:
Ik moet bekennen dat ik zelf ook weleens terugval op Nederlands als ik niet zo snel op een goeie engelse term kan komen ;(
"There are 2 hard problems in computer science: cache invalidation, naming things and off-by-1 errors"
Aethermaandag 20 januari 2014 @ 10:49
quote:
0s.gif Op maandag 20 januari 2014 10:12 schreef Sitethief het volgende:

[..]

Ik heb in een ver verleden eens voor een Duits bedrijf JSP geschreven, daar waren niet alleen de variabelen en comments in het Duits, deel van JSP was zelf in het Duits veranderd. Abfrage ipv Query, Schleife ipv Loop etc... maar dit was maar voor 50% doorgevoerd wat hele rare code produceerde.

:r .

Edit: voorbeeldje uit mijn mail gevist (9 jaar geleden door een collega geschreven)
[ code verwijderd ]

Ach ;)
1
2
3
4
5
6
$(function() {
   $("button").on("click", function() {
      var この = this;
      この.innerHTML = "¡Hola, mundo!";
   });
});
Ik heb ook wel stukken in het Nederlands geschreven, bijvoorbeeld voor het onderwijs waar zo veel terminologie werd gebruikt dat het niet handig was om (veel) Engels te gebruiken.

[ Bericht 0% gewijzigd door Aether op 20-01-2014 14:37:35 ]
Sitethiefmaandag 20 januari 2014 @ 11:03
quote:
7s.gif Op maandag 20 januari 2014 10:49 schreef Aether het volgende:

[..]

Ach ;)
[ code verwijderd ]

Ik heb ook wel stukken in het Nederlands geschreven, bijvoorbeeld voor het onderwijs waar zo veel terminologie werd gebruikt dat het niet handig was om (veel) Engels te gebruiken.
Japanse code die Spaans teruggeeft :o . :{w .
bondagemaandag 20 januari 2014 @ 11:25
quote:
0s.gif Op maandag 20 januari 2014 10:12 schreef Sitethief het volgende:

[..]

Ik heb in een ver verleden eens voor een Duits bedrijf JSP geschreven, daar waren niet alleen de variabelen en comments in het Duits, deel van JSP was zelf in het Duits veranderd. Abfrage ipv Query, Schleife ipv Loop etc... maar dit was maar voor 50% doorgevoerd wat hele rare code produceerde.

:r .

Edit: voorbeeldje uit mijn mail gevist (9 jaar geleden door een collega geschreven)
[ code verwijderd ]

Gadver. Bij mij is alles in het Engels. Foutmeldingen zijn in twee talen (Nederlands en Engels) beschikbaar als er buitenlanders met een tool moeten werken die ik heb geschreven.
KomtTijd...maandag 20 januari 2014 @ 11:34
quote:
7s.gif Op maandag 20 januari 2014 10:49 schreef Aether het volgende:

[..]

Ach ;)
[ code verwijderd ]

Ik heb ook wel stukken in het Nederlands geschreven, bijvoorbeeld voor het onderwijs waar zo veel terminologie werd gebruikt dat het niet handig was om (veel) Engels te gebruiken.
Als je één var hebt die zo'n maf karakter heeft, is dat wel lekker makkelijk onthouden :+
Chandlermaandag 20 januari 2014 @ 12:06
quote:
14s.gif Op maandag 20 januari 2014 11:34 schreef KomtTijd... het volgende:
Als je één var hebt die zo'n maf karakter heeft, is dat wel lekker makkelijk onthouden :+
1tje wel, 100erden niet :+
Diaboxmaandag 20 januari 2014 @ 14:39
quote:
0s.gif Op maandag 20 januari 2014 10:12 schreef Sitethief het volgende:

[..]

Ik heb in een ver verleden eens voor een Duits bedrijf JSP geschreven, daar waren niet alleen de variabelen en comments in het Duits, deel van JSP was zelf in het Duits veranderd. Abfrage ipv Query, Schleife ipv Loop etc... maar dit was maar voor 50% doorgevoerd wat hele rare code produceerde.

:r .

Edit: voorbeeldje uit mijn mail gevist (9 jaar geleden door een collega geschreven)
[ code verwijderd ]

Wow, vreselijk :')
#ANONIEMmaandag 20 januari 2014 @ 18:34
quote:
0s.gif Op maandag 20 januari 2014 10:12 schreef Sitethief het volgende:

[..]

Ik heb in een ver verleden eens voor een Duits bedrijf JSP geschreven, daar waren niet alleen de variabelen en comments in het Duits, deel van JSP was zelf in het Duits veranderd. Abfrage ipv Query, Schleife ipv Loop etc... maar dit was maar voor 50% doorgevoerd wat hele rare code produceerde.

:r .

Edit: voorbeeldje uit mijn mail gevist (9 jaar geleden door een collega geschreven)
[ code verwijderd ]

Ik zou daar niet eens aan beginnen, tegen die collega zeggen dat hij alles maar gaat vertalen naar een fatsoenlijke taal.

Alles anders dan Engels is in een programmeertaal egoïstisch en walgelijk. Het commentaar kan ik nog begrijpen, maar code zelf...

Sowieso moeten duitsers bijna alles vertalen en geen idee waarom.

Doctrine heeft trouwens voordelen en nadelen.
Voordeel is dat je 80% van je queries makkelijk kunt oplossen door simpele code.
Nadeel is dat je bij 20% van je queries uren aan het zoeken bent naar een oplossing die je veel makkelijker zelf met een query had kunnen doen.

Zoals met elk ORM/Framework, gaat er veel tijd in zitten om het goed te leren. Daarna kan alles veel sneller gaan.
KomtTijd...maandag 20 januari 2014 @ 18:56
Je kunt doctrine ook zelf querystrings voeren. Nog niet mee bezig geweest maar kwam het ergens tegen.
Sitethiefmaandag 20 januari 2014 @ 18:56
quote:
0s.gif Op maandag 20 januari 2014 18:34 schreef totalvamp het volgende:

[..]

Ik zou daar niet eens aan beginnen, tegen die collega zeggen dat hij alles maar gaat vertalen naar een fatsoenlijke taal.

Alles anders dan Engels is in een programmeertaal egoïstisch en walgelijk. Het commentaar kan ik nog begrijpen, maar code zelf...

Sowieso moeten duitsers bijna alles vertalen en geen idee waarom.

Dat heeft niks met die collega te maken, dit was de taal die standaard gebruikt werd binnen het bedrijf :X.
#ANONIEMmaandag 20 januari 2014 @ 19:00
quote:
0s.gif Op maandag 20 januari 2014 18:56 schreef Sitethief het volgende:

[..]

Dat heeft niks met die collega te maken, dit was de taal die standaard gebruikt werd binnen het bedrijf :X.
Dan is dat iets wat je tegen je baas moet zeggen.
Als ik foute dingen tegenkom in code doe ik dat ook altijd. Niet elke baas reageert er goed op, maar dan weet je gelijk wat voor vlees je in de kuip hebt.
Sitethiefmaandag 20 januari 2014 @ 19:01
quote:
0s.gif Op maandag 20 januari 2014 19:00 schreef totalvamp het volgende:

[..]

Dan is dat iets wat je tegen je baas moet zeggen.
Als ik foute dingen tegenkom in code doe ik dat ook altijd. Niet elke baas reageert er goed op, maar dan weet je gelijk wat voor vlees je in de kuip hebt.
Dit was 9 jaar geleden tijdens een buitenlandstage hé :P.
#ANONIEMmaandag 20 januari 2014 @ 19:02
quote:
0s.gif Op maandag 20 januari 2014 19:01 schreef Sitethief het volgende:

[..]

Dit was 9 jaar geleden tijdens een buitenlandstage hé :P.
Ahh xD als stagiair luistert niemand naar je :(
Sitethiefmaandag 20 januari 2014 @ 19:27
quote:
0s.gif Op maandag 20 januari 2014 19:02 schreef totalvamp het volgende:

[..]

Ahh xD als stagiair luistert niemand naar je :(
Zeker niet in Duitsland, daar liggen de verhoudingen net iets anders. Ook compleet andere arbeidsethos hebben die lui. All work no play, tot dat de lunchpauze begint, kheb nog nooit zoveel lol gehad tijdens de lunch, en dan terug op je werkplek ging de knop weer om. Heb 1 keer geprobeerd een grappig filmpje aan een collega te laten zien tijdens werktijd... dat deed ik daarna niet weer.
#ANONIEMmaandag 20 januari 2014 @ 19:29
quote:
0s.gif Op maandag 20 januari 2014 19:27 schreef Sitethief het volgende:

[..]

Zeker niet in Duitsland, daar liggen de verhoudingen net iets anders. Ook compleet andere arbeidsethos hebben die lui. All work no play, tot dat de lunchpauze begint, kheb nog nooit zoveel lol gehad tijdens de lunch, en dan terug op je werkplek ging de knop weer om. Heb 1 keer geprobeerd een grappig filmpje aan een collega te laten zien tijdens werktijd... dat deed ik daarna niet weer.
DAS IS NICHT TOL! RAUS ARBEITEN!
Mijn beste duits :P

Ik heb eerlijk gezegd liever stilte of iets van klassieke muziek met koptelefoon op. Ik ben veel te snel afgeleid.

Thuis doe ik altijd 3 dingen tegelijk op de computer, soms kijk ik 2 filmpjes tegelijk en speel een spelletje :')
Sitethiefmaandag 20 januari 2014 @ 19:39
quote:
0s.gif Op maandag 20 januari 2014 19:29 schreef totalvamp het volgende:

[..]

DAS IS NICHT TOL! RAUS ARBEITEN!
Mijn beste duits :P

Ik heb eerlijk gezegd liever stilte of iets van klassieke muziek met koptelefoon op. Ik ben veel te snel afgeleid.

Thuis doe ik altijd 3 dingen tegelijk op de computer, soms kijk ik 2 filmpjes tegelijk en speel een spelletje :')
Ach mijn huidige baas heeft wat dat betreft een compleet andere houding. Zolang ik mijn tickets en projecten op schema houd mag er best wel een lol getrapt worden. Tenzij tijdens de Q&A en testrondes :P. Zorgt ook voor een betere sfeer en dus een beter team met minder spanningen.
#ANONIEMmaandag 20 januari 2014 @ 19:43
quote:
0s.gif Op maandag 20 januari 2014 19:39 schreef Sitethief het volgende:

[..]

Ach mijn huidige baas heeft wat dat betreft een compleet andere houding. Zolang ik mijn tickets en projecten op schema houd mag er best wel een lol getrapt worden. Tenzij tijdens de Q&A en testrondes :P. Zorgt ook voor een betere sfeer en dus een beter team met minder spanningen.
Ja bij mijn vorige werk stond er vaak 1 bepaalde video op die alle mannen van hun werk af hield. (op een groot tv scherm).

Ik heb dit nummer zovaak gehoord met deze clip erbij dat ik de clip zie afspelen in mijn hoofd bij dit nummer.

n8ndinsdag 21 januari 2014 @ 18:23
quote:
0s.gif Op maandag 20 januari 2014 19:39 schreef Sitethief het volgende:

[..]

Ach mijn huidige baas heeft wat dat betreft een compleet andere houding. Zolang ik mijn tickets en projecten op schema houd mag er best wel een lol getrapt worden. Tenzij tijdens de Q&A en testrondes :P. Zorgt ook voor een betere sfeer en dus een beter team met minder spanningen.
wij hebben fussbal (stagiair sinds gisteren)
Crutchdinsdag 21 januari 2014 @ 19:42
Taka taka!
Sitethiefwoensdag 22 januari 2014 @ 10:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
class lala {

    function 
__construct($type) {
        if(
$type){
            
$this->setType($type);
        }else{
            throw new \
Exception('Invalid type');
        }
    }
    
   
/**
    * Hier stel je het type in
    */ 
    
function setType($type){
        if(
$type){
            
$this->type $type;   
        }else{
            throw new \
Exception('Invalid type');
        }
    }
}
?>

Is dit onzinning? $this->type is altijd nodig voor de class, maar mag niet veranderen na de class aangeroepen te hebben. Is een aparte set dan überhaupt nuttig?Want ik zit ermee dat ik op twee plekken exceptions wil throwen als $type er niet is, wat een beetje dubbel lijkt. Kan ik dan niet beter gewoon $this-type in de construct vullen? Ik ben mezelf momenteel een beetje aan het leren met exceptions om te gaan.
#ANONIEMwoensdag 22 januari 2014 @ 11:01
quote:
0s.gif Op woensdag 22 januari 2014 10:40 schreef Sitethief het volgende:

[ code verwijderd ]

Is dit onzinning? $this->type is altijd nodig voor de class, maar mag niet veranderen na de class aangeroepen te hebben. Is een aparte set dan überhaupt nuttig?Want ik zit ermee dat ik op twee plekken exceptions wil throwen als $type er niet is, wat een beetje dubbel lijkt. Kan ik dan niet beter gewoon $this-type in de construct vullen? Ik ben mezelf momenteel een beetje aan het leren met exceptions om te gaan.
Als de type niet meer veranderd gewoon in de construct gooien.
Sitethiefwoensdag 22 januari 2014 @ 11:03
quote:
1s.gif Op woensdag 22 januari 2014 11:01 schreef totalvamp het volgende:

[..]

Als de type niet meer veranderd gewoon in de construct gooien.
Dat dacht ik ook, om nou een complete serie Setters en Getters te maken voor dingen die alleen intern gebruikt worden en die niet veranderen lijkt me een beetje te ver doorgeschoten in de OOP.
#ANONIEMwoensdag 22 januari 2014 @ 11:09
quote:
0s.gif Op woensdag 22 januari 2014 11:03 schreef Sitethief het volgende:

[..]

Dat dacht ik ook, om nou een complete serie Setters en Getters te maken voor dingen die alleen intern gebruikt worden en die niet veranderen lijkt me een beetje te ver doorgeschoten in de OOP.
Dat is het inderdaad. Getters en setters kunnen handig zijn we een groot aantal andere dingen, wat je eventueel ook nog kunt doen is een closure meesturen in de construct die de type set.

1
2
3
4
5
6
7
8
9
<?php
Class bla {
  Public function 
__construct(Closure $closure) {
    
$closure();
  }
}

New 
bla(function(){ $this->type = new TypeThingy(); });
?>

Vergeef typfouten, programmeren is lastig op een telefoon

[ Bericht 19% gewijzigd door #ANONIEM op 22-01-2014 11:10:47 ]
Sitethiefwoensdag 22 januari 2014 @ 11:25
quote:
1s.gif Op woensdag 22 januari 2014 11:09 schreef totalvamp het volgende:

[..]

Dat is het inderdaad. Getters en setters kunnen handig zijn we een groot aantal andere dingen, wat je eventueel ook nog kunt doen is een closure meesturen in de construct die de type set.
[ code verwijderd ]

Vergeef typfouten, programmeren is lastig op een telefoon
Wow, dat lijkt akelig veel op javascript :D. Maar dat voegt wel wat meer dynamiek toe, dat kan idd handig zijn.

Bedankt, ik wist niet dat dit ook kon...
Lightwoensdag 22 januari 2014 @ 22:22
quote:
1s.gif Op woensdag 22 januari 2014 11:09 schreef totalvamp het volgende:

[..]

Dat is het inderdaad. Getters en setters kunnen handig zijn we een groot aantal andere dingen, wat je eventueel ook nog kunt doen is een closure meesturen in de construct die de type set.
[ code verwijderd ]

Vergeef typfouten, programmeren is lastig op een telefoon
Dan gebruik je $this zonder dat je in een object zit, dat vindt PHP niet lief.
#ANONIEMwoensdag 22 januari 2014 @ 22:22
quote:
0s.gif Op woensdag 22 januari 2014 22:22 schreef Light het volgende:

[..]

Dan gebruik je $this zonder dat je in een object zit, dat vindt PHP niet lief.
jawel hoor :) Sinds PHP 5.4 kunnen closures $this aanroepen.
Lightwoensdag 22 januari 2014 @ 22:26
quote:
0s.gif Op woensdag 22 januari 2014 22:22 schreef totalvamp het volgende:

[..]

jawel hoor :) Sinds PHP 5.4 kunnen closures $this aanroepen.
Klopt. Ik heb deze code geprobeerd:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
class Foo
{
    private 
$bar;

    public function 
__construct($closure null)
    {
        if(
is_callable($closure))
        {
            
$closure();
            
var_dump($this->bar);
        }
    }
}

$foo = new Foo(function(){$this->bar 'bar';});
En ik kreeg daarbij een fout op de laatste regel:
1Fatal error: Using $this when not in object context in Test/test.php on line 16
#ANONIEMwoensdag 22 januari 2014 @ 22:34
quote:
0s.gif Op woensdag 22 januari 2014 22:26 schreef Light het volgende:

[..]

Klopt. Ik heb deze code geprobeerd:
[ code verwijderd ]

En ik kreeg daarbij een fout op de laatste regel:
[ code verwijderd ]

Klopt, omdat de syntax normaal ook anders is :P het was meer om hem een idee te geven.
Typen op een telefoon is nou niet echt fijn :')

Nu even op mijn pc en kan je een stukje code geven:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class Test {
    public 
$type 'test';
    
    public function 
setType(Closure $closure) {
        
$closure($this);
    }
    
    public function 
getType() {
        echo 
$this->type;
    }
}

$t = new Test();
$t->getType();
$t->setType(function($t){$t->type 'test2';});
$t->getType();
?>

Als je de docs leest kom je dit ook tegen :)
Natuurlijk wel is_callable gebruiken etc, het is een voorbeeld :P

[ Bericht 1% gewijzigd door #ANONIEM op 22-01-2014 22:37:01 ]
Skunk-mdinsdag 28 januari 2014 @ 14:23
Weet iemand hoe k met een query de 10 topics met de laatste ongelezen reacties van phpbb kan krijgen?
Ik heb al vanalles geprobeerd maar zonder succes.
henrivodinsdag 28 januari 2014 @ 14:38
Ervaren ZF2-ers in da house? :P
Darkomendinsdag 28 januari 2014 @ 14:42
quote:
0s.gif Op dinsdag 28 januari 2014 14:23 schreef Skunk-m het volgende:
Weet iemand hoe k met een query de 10 topics met de laatste ongelezen reacties van phpbb kan krijgen?
Ik heb al vanalles geprobeerd maar zonder succes.
Eerste hit op google:
https://www.phpbb.com/community/viewtopic.php?f=46&t=2092813

SPOILER
SELECT t.topic_id, t.topic_last_post_time, tt.mark_time as topic_mark_time, ft.mark_time as forum_mark_time FROM (phpbb_topics t) LEFT JOIN phpbb_topics_track tt ON (tt.user_id = $user_id AND t.topic_id = tt.topic_id) LEFT JOIN phpbb_forums_track ft ON (ft.user_id = $user_id AND t.forum_id = ft.forum_id) WHERE ( (tt.mark_time IS NOT NULL AND t.topic_last_post_time > tt.mark_time) OR (tt.mark_time IS NULL AND ft.mark_time IS NOT NULL AND t.topic_last_post_time > ft.mark_time) OR (tt.mark_time IS NULL AND ft.mark_time IS NULL AND t.topic_last_post_time > $last_mark) ) AND t.topic_moved_id = 0 AND t.topic_approved = 1 ORDER BY t.topic_last_post_time DESC
Skunk-mdinsdag 28 januari 2014 @ 15:31
quote:
0s.gif Op dinsdag 28 januari 2014 14:42 schreef Darkomen het volgende:

[..]

Eerste hit op google:
https://www.phpbb.com/community/viewtopic.php?f=46&t=2092813

SPOILER
SELECT t.topic_id, t.topic_last_post_time, tt.mark_time as topic_mark_time, ft.mark_time as forum_mark_time FROM (phpbb_topics t) LEFT JOIN phpbb_topics_track tt ON (tt.user_id = $user_id AND t.topic_id = tt.topic_id) LEFT JOIN phpbb_forums_track ft ON (ft.user_id = $user_id AND t.forum_id = ft.forum_id) WHERE ( (tt.mark_time IS NOT NULL AND t.topic_last_post_time > tt.mark_time) OR (tt.mark_time IS NULL AND ft.mark_time IS NOT NULL AND t.topic_last_post_time > ft.mark_time) OR (tt.mark_time IS NULL AND ft.mark_time IS NULL AND t.topic_last_post_time > $last_mark) ) AND t.topic_moved_id = 0 AND t.topic_approved = 1 ORDER BY t.topic_last_post_time DESC
Bedankt.. mijn google skills laten me vaak in de steek..
word toch een keer tijd dat ik naar dat LEFT JOIN gebeuren ga kijken, want dat heb k nog nooit gebruikt, behalve misschien ooit op school maar daar weet k dan niks meer van.
Darkomendinsdag 28 januari 2014 @ 16:06
quote:
0s.gif Op dinsdag 28 januari 2014 15:31 schreef Skunk-m het volgende:

[..]

Bedankt.. mijn google skills laten me vaak in de steek..
word toch een keer tijd dat ik naar dat LEFT JOIN gebeuren ga kijken, want dat heb k nog nooit gebruikt, behalve misschien ooit op school maar daar weet k dan niks meer van.
http://bit.ly/1k1eWH7 ;-)

left join is niet zo eng
MeneerRicardodonderdag 30 januari 2014 @ 02:29
Dus, mijn collega's zagen dat ik nogal veel op fok doorbracht en we bedachten op die manier een programmeer-thon, in totaal dus het hele forum systeem nagebouwd met 3 man in 65 uur. Best knap al zeg ik het zelf.

Oh en voor de hele oplettende php-ers onder ons, de datums zijn in het engels ja, dat komt omdat onze interne svn server op engels staat ingesteld en ik te lui ben om hem om te zetten naar nl_NL :')

Dit deden we alleen om onze programmeerkunsten weer op peil te houden. Maak je geen zorgen, project ligt alweer in de prullenbak ;)

Zie screenie hier:

dzi91s.png
#ANONIEMdonderdag 30 januari 2014 @ 03:48
quote:
0s.gif Op donderdag 30 januari 2014 02:29 schreef MeneerRicardo het volgende:
Dus, mijn collega's zagen dat ik nogal veel op fok doorbracht en we bedachten op die manier een programmeer-thon, in totaal dus het hele forum systeem nagebouwd met 3 man in 65 uur. Best knap al zeg ik het zelf.

Oh en voor de hele oplettende php-ers onder ons, de datums zijn in het engels ja, dat komt omdat onze interne svn server op engels staat ingesteld en ik te lui ben om hem om te zetten naar nl_NL :')

Dit deden we alleen om onze programmeerkunsten weer op peil te houden. Maak je geen zorgen, project ligt alweer in de prullenbak ;)

Zie screenie hier:

[ afbeelding ]
OMG LUILAK! het enige wat je nodig had was setlocale :(

Maar waarom maak je iets wat je toch niet gebruikt :P

[ Bericht 0% gewijzigd door #ANONIEM op 30-01-2014 03:48:45 ]
MeneerRicardodonderdag 30 januari 2014 @ 04:10
quote:
0s.gif Op donderdag 30 januari 2014 03:48 schreef totalvamp het volgende:

OMG LUILAK! het enige wat je nodig had was setlocale :(
Nee, moet het uit de repository halen omdat onze server images in de virtuele omgeving gestript zijn en alleen en_EN bevatten :)
quote:
0s.gif Op donderdag 30 januari 2014 03:48 schreef totalvamp het volgende:

Maar waarom maak je iets wat je toch niet gebruikt :P
Zoals je kon lezen ging het gewoon om een lolletje om onze programmeer niveau te testen en het is goed voor team spirit ;)
#ANONIEMdonderdag 30 januari 2014 @ 05:04
quote:
0s.gif Op donderdag 30 januari 2014 04:10 schreef MeneerRicardo het volgende:

[..]

Nee, moet het uit de repository halen omdat onze server images in de virtuele omgeving gestript zijn en alleen en_EN bevatten :)

[..]

Zoals je kon lezen ging het gewoon om een lolletje om onze programmeer niveau te testen en het is goed voor team spirit ;)
Ahh, dat schiet dan niet op nee :')

Ik maak liever iets voor de lol wat ook daadwerkelijk gebruikt kan worden :P

Welk framework hebben jullie gebruikt als ik vragen mag?
MeneerRicardodonderdag 30 januari 2014 @ 05:18
quote:
0s.gif Op donderdag 30 januari 2014 05:04 schreef totalvamp het volgende:

Ahh, dat schiet dan niet op nee :')

Ik maak liever iets voor de lol wat ook daadwerkelijk gebruikt kan worden :P

Welk framework hebben jullie gebruikt als ik vragen mag?
Geen, althans, een eigen gemaakte speciaal om bepaalde functies van het forum te laten draaien :)
#ANONIEMdonderdag 30 januari 2014 @ 07:25
quote:
0s.gif Op donderdag 30 januari 2014 05:18 schreef MeneerRicardo het volgende:

[..]

Geen, althans, een eigen gemaakte speciaal om bepaalde functies van het forum te laten draaien :)
Ok dus letterlijk vanaf het begin :P wel leuk natuurlijk :)
Een mini framework is ook in een uur of 4 geschreven :P

Code ergens beschikbaar om in te zien?

[ Bericht 2% gewijzigd door #ANONIEM op 30-01-2014 07:25:57 ]
KomtTijd...donderdag 30 januari 2014 @ 08:49
quote:
0s.gif Op donderdag 30 januari 2014 02:29 schreef MeneerRicardo het volgende:
Dus, mijn collega's zagen dat ik nogal veel op fok doorbracht en we bedachten op die manier een programmeer-thon, in totaal dus het hele forum systeem nagebouwd met 3 man in 65 uur. Best knap al zeg ik het zelf.

Oh en voor de hele oplettende php-ers onder ons, de datums zijn in het engels ja, dat komt omdat onze interne svn server op engels staat ingesteld en ik te lui ben om hem om te zetten naar nl_NL :')

Dit deden we alleen om onze programmeerkunsten weer op peil te houden. Maak je geen zorgen, project ligt alweer in de prullenbak ;)

Zie screenie hier:

[ afbeelding ]
Dan heb je het over alleen de layout met een basic forum-backend neem ik aan?
MeneerRicardodonderdag 30 januari 2014 @ 15:21
quote:
0s.gif Op donderdag 30 januari 2014 07:25 schreef totalvamp het volgende:

Code ergens beschikbaar om in te zien?
Nee sorry.

quote:
14s.gif Op donderdag 30 januari 2014 08:49 schreef KomtTijd... het volgende:

Dan heb je het over alleen de layout met een basic forum-backend neem ik aan?
Nee, een geheel functioneel systeem, niks basics aan :?
KomtTijd...donderdag 30 januari 2014 @ 15:28
In 65 uur ga je geen forum met de functionaliteit van Replique kunnen maken. Ook niet met 3 man.
BBQSausagedonderdag 30 januari 2014 @ 17:58
quote:
14s.gif Op donderdag 30 januari 2014 15:28 schreef KomtTijd... het volgende:
In 65 uur ga je geen forum met de functionaliteit van Replique kunnen maken. Ook niet met 3 man.
Lijkt me dat ze geen (sub)fora, moderatie, topicreports, notes, reeksen, etc. hebben meegenomen in hun systeem.

Niets meer dan een uitgebreid gastenboek in een FOK!jasje in dat geval dus.
bondagedonderdag 30 januari 2014 @ 18:06
quote:
14s.gif Op donderdag 30 januari 2014 17:58 schreef BBQSausage het volgende:

[..]

Lijkt me dat ze geen (sub)fora, moderatie, topicreports, notes, reeksen, etc. hebben meegenomen in hun systeem.

Niets meer dan een uitgebreid gastenboek in een FOK!jasje in dat geval dus.
En er zit natuurlijk nog een admin gedeelte achter waar ze geen inzage in hebben gehad en dus niet volledig na hebben kunnen bouwen, als ze het überhaupt gedaan hebben.
Scorpiedonderdag 30 januari 2014 @ 18:14
quote:
1s.gif Op donderdag 30 januari 2014 15:21 schreef MeneerRicardo het volgende:

[..]

Nee sorry.

[..]

Nee, een geheel functioneel systeem, niks basics aan :?
Denk dat dat wel meevalt. Republique is wel iets meer.
KomtTijd...donderdag 30 januari 2014 @ 18:25
quote:
14s.gif Op donderdag 30 januari 2014 17:58 schreef BBQSausage het volgende:

[..]

Lijkt me dat ze geen (sub)fora, moderatie, topicreports, notes, reeksen, etc. hebben meegenomen in hun systeem.

Niets meer dan een uitgebreid gastenboek in een FOK!jasje in dat geval dus.
Dat bedoel ik. Been there, done that. Heb nog ergens een mapje met de FOK!silver layout in minder dan de helft van de elementen van de originele. En custom CSS's die een bijna pixel-perfect kopie van foksilver maken van de huidige layout.
BBQSausagedonderdag 30 januari 2014 @ 19:26
quote:
11s.gif Op donderdag 30 januari 2014 18:06 schreef bondage het volgende:

[..]

En er zit natuurlijk nog een admin gedeelte achter waar ze geen inzage in hebben gehad en dus niet volledig na hebben kunnen bouwen, als ze het überhaupt gedaan hebben.
Vraag me af of er wel echt een admingedeelte achter hangt.
Beardiumdonderdag 30 januari 2014 @ 21:05
Iemand hier ervaring met de Twitter API?
Crutchdonderdag 30 januari 2014 @ 21:08
quote:
0s.gif Op donderdag 30 januari 2014 21:05 schreef Beardium het volgende:
Iemand hier ervaring met de Twitter API?
Wat wil je weten?
Beardiumdonderdag 30 januari 2014 @ 21:10
quote:
0s.gif Op donderdag 30 januari 2014 21:08 schreef Crutch het volgende:

[..]

Wat wil je weten?
Als je je twitter account toestemming hebt gegeven tot je applicatie (vanuit https://api.twitter.com/oauth/authenticate?oauth_token) word je weer doorgestuurd naar je pagina. De oauth_token en de oauth_verifier worden via een GET meegestuurd, is het ook mogelijk dat ik deze via POST krijg? Ik gebruik de library van Abraham Williams (https://github.com/abraham/twitteroauth)
Crutchdonderdag 30 januari 2014 @ 22:07
quote:
0s.gif Op donderdag 30 januari 2014 21:10 schreef Beardium het volgende:

[..]

Als je je twitter account toestemming hebt gegeven tot je applicatie (vanuit https://api.twitter.com/oauth/authenticate?oauth_token) word je weer doorgestuurd naar je pagina. De oauth_token en de oauth_verifier worden via een GET meegestuurd, is het ook mogelijk dat ik deze via POST krijg? Ik gebruik de library van Abraham Williams (https://github.com/abraham/twitteroauth)
Want de library van Abraham ondersteunt geen GET?
Anyway, volgens mij kun je het gewoon opvragen en terugkrijgen via POST

[ Bericht 3% gewijzigd door Crutch op 30-01-2014 22:15:06 ]
#ANONIEMvrijdag 31 januari 2014 @ 17:14
Weet iemand of er iets iets bestaat als reCAPTCHA maar dan met vragen als "Wat is twee + 3 × tien?" Kan t wel zelf coden maar ben benieuwd of er al zoiets bestaat :)
KomtTijd...vrijdag 31 januari 2014 @ 17:19
Goeie. Iedereen die 50 antwoord gelijk een ipban.
#ANONIEMvrijdag 31 januari 2014 @ 17:32
quote:
14s.gif Op vrijdag 31 januari 2014 17:19 schreef KomtTijd... het volgende:
Goeie. Iedereen die 50 antwoord gelijk een ipban.
:D
bondagevrijdag 31 januari 2014 @ 17:38
quote:
14s.gif Op vrijdag 31 januari 2014 17:19 schreef KomtTijd... het volgende:
Goeie. Iedereen die 50 antwoord gelijk een ipban.
32.
GSMboyvrijdag 31 januari 2014 @ 21:03
quote:
11s.gif Op donderdag 30 januari 2014 18:06 schreef bondage het volgende:

[..]

En er zit natuurlijk nog een admin gedeelte achter waar ze geen inzage in hebben gehad en dus niet volledig na hebben kunnen bouwen, als ze het überhaupt gedaan hebben.
met goed zoeken kan je er gewoon screenshots van vinden ;)
Sterker, ik heb ze hier liggen. Useradmin, rechtenbeheer, forumbeheer en nog wat meuk. ;)

(en nee, ik heb niet ingebroken ofzo)
bondagevrijdag 31 januari 2014 @ 21:09
quote:
17s.gif Op vrijdag 31 januari 2014 21:03 schreef GSMboy het volgende:

[..]

met goed zoeken kan je er gewoon screenshots van vinden ;)
Sterker, ik heb ze hier liggen. Useradmin, rechtenbeheer, forumbeheer en nog wat meuk. ;)

(en nee, ik heb niet ingebroken ofzo)
Waarschijnlijk sterk verouderde. Ik heb in een ver verleden ook wel eens screenshots gezien van het admin gedeelte maar er is in de tussentijd veel veranderd.
KomtTijd...vrijdag 31 januari 2014 @ 21:14
't hoeft natuurlijk niwt pixel perfect te zijn maar replique heeft wel een hop functies die je niet in standaard forumsoftware vindt. Zoals het note systeem, live updates, topicchains, editgeschiedenis van posts, ga nog maar even door.
GSMboyvrijdag 31 januari 2014 @ 22:41
quote:
11s.gif Op vrijdag 31 januari 2014 21:09 schreef bondage het volgende:

[..]

Waarschijnlijk sterk verouderde. Ik heb in een ver verleden ook wel eens screenshots gezien van het admin gedeelte maar er is in de tussentijd veel veranderd.
Oranje kleur in ieder geval, Bondage...
bondagevrijdag 31 januari 2014 @ 22:48
quote:
17s.gif Op vrijdag 31 januari 2014 22:41 schreef GSMboy het volgende:

[..]

Oranje kleur in ieder geval, Bondage...
Ik zal het straks ff checken.
GSMboyvrijdag 31 januari 2014 @ 22:49
quote:
14s.gif Op vrijdag 31 januari 2014 22:48 schreef bondage het volgende:

[..]

Ik zal het straks ff checken.
Okee, vroeger was 'ie blauw, zag ik ooit in een 'kijkje achter de schermen' topic.
zoemvrijdag 31 januari 2014 @ 22:59
quote:
0s.gif Op donderdag 30 januari 2014 02:29 schreef MeneerRicardo het volgende:
Dus, mijn collega's zagen dat ik nogal veel op fok doorbracht en we bedachten op die manier een programmeer-thon, in totaal dus het hele forum systeem nagebouwd met 3 man in 65 uur. Best knap al zeg ik het zelf.

Oh en voor de hele oplettende php-ers onder ons, de datums zijn in het engels ja, dat komt omdat onze interne svn server op engels staat ingesteld en ik te lui ben om hem om te zetten naar nl_NL :')

Dit deden we alleen om onze programmeerkunsten weer op peil te houden. Maak je geen zorgen, project ligt alweer in de prullenbak ;)

Zie screenie hier:

[ afbeelding ]
Een schermafdruk zegt natuurlijk niet zo veel over de werking, maar leuke en leerzame poging :) Forumsoftware maken is in de basis niet zo heel erg bijzonder; er zijn immers tig pakketten voor verkrijgbaar tegenwoordig. Het zijn juist de aanvullende features die het FOK!forum maken tot wat het is. Ik zie hier al een aantal zaken uitgelicht worden zoals live-updates, de DM/chat en reeksen. Zo zijn er nog andere dingen die wellicht minder in het oog springen, maar wel bijdragen aan het geheel.
-Datdus-zaterdag 1 februari 2014 @ 01:43
Ik zit hier mee te worstelen...

Ik heb deze tabellen

status:
INT id | INT oid (is gerelateerd aan een id uit users)

users:
id | VARCHAR naam

Nu wil ik alles uit users selecteren mits de users.id voorkomt in status (oid) waar status.id 1 is. Jezus christus.
-Datdus-zaterdag 1 februari 2014 @ 02:44
Volgens mij gevonden!

SELECT users.id FROM users, status WHERE users.id NOT IN (SELECT oid FROM status WHERE status.id = 1) GROUP BY users.id
#ANONIEMzaterdag 1 februari 2014 @ 02:57
quote:
6s.gif Op zaterdag 1 februari 2014 02:44 schreef -Datdus- het volgende:
Volgens mij gevonden!

SELECT users.id FROM users, status WHERE users.id NOT IN (SELECT oid FROM status WHERE status.id = 1) GROUP BY users.id
Kun je dit niet gewoon met een inner join doen?

SELECT users.id FROM users INNER JOIN status ON users.id = status.oid WHERE status.id = 1
Lightzaterdag 1 februari 2014 @ 11:45
quote:
6s.gif Op zaterdag 1 februari 2014 02:44 schreef -Datdus- het volgende:
Volgens mij gevonden!

SELECT users.id FROM users, status WHERE users.id NOT IN (SELECT oid FROM status WHERE status.id = 1) GROUP BY users.id
Dan krijg je alle users met een status ongelijk aan 1. En dat wijkt af van wat je eerst wilde.
quote:
6s.gif Op zaterdag 1 februari 2014 01:43 schreef -Datdus- het volgende:
Nu wil ik alles uit users selecteren mits de users.id voorkomt in status (oid) waar status.id 1 is.
-Datdus-zaterdag 1 februari 2014 @ 12:18
quote:
0s.gif Op zaterdag 1 februari 2014 11:45 schreef Light het volgende:

[..]

Dan krijg je alle users met een status ongelijk aan 1. En dat wijkt af van wat je eerst wilde.

[..]

Ik heb het denk ik een beetje onduidelijk uitgelegd. :P

Ik wil niet de resultaten hebben met het id 1, dat is een voorbeeld. Ik wil kunnen checken of id 1 een verband heeft met andere id's in 'status' en die wil ik vervolgens weglaten en de rest eruit halen. :)
Lightzaterdag 1 februari 2014 @ 22:10
quote:
6s.gif Op zaterdag 1 februari 2014 12:18 schreef -Datdus- het volgende:

[..]

Ik heb het denk ik een beetje onduidelijk uitgelegd. :P

Ik wil niet de resultaten hebben met het id 1, dat is een voorbeeld. Ik wil kunnen checken of id 1 een verband heeft met andere id's in 'status' en die wil ik vervolgens weglaten en de rest eruit halen. :)
Dus, als ik het goed begrijp, wil je een lijst van users die niet de status 1 hebben.

1
2
3
4
5
6
SELECT u.*
FROM users u
LEFT JOIN status s
ON s.oid = u.id
AND s.id = 1
WHERE s.id IS NULL
-Datdus-zondag 2 februari 2014 @ 12:10
quote:
0s.gif Op zaterdag 1 februari 2014 22:10 schreef Light het volgende:

[..]

Dus, als ik het goed begrijp, wil je een lijst van users die niet de status 1 hebben.
[ code verwijderd ]

ja. of elk ander willekeurig id dat ik opgeef. :P Wat betekend trouwens u.*?
#ANONIEMzondag 2 februari 2014 @ 12:15
quote:
6s.gif Op zondag 2 februari 2014 12:10 schreef -Datdus- het volgende:

[..]

ja. of elk ander willekeurig id dat ik opgeef. :P Wat betekend trouwens u.*?
Dat doet zijn query ook.
U.* is alles uit users(elke column)
Rockfirezondag 2 februari 2014 @ 12:16
quote:
6s.gif Op zondag 2 februari 2014 12:10 schreef -Datdus- het volgende:

[..]

ja. of elk ander willekeurig id dat ik opgeef. :P Wat betekend trouwens u.*?
u. is een alias voor users., dus u.* is eigenlijk users.* oftewel alle kolommen uit de tabel users.

Dat kun je trouwens zien aan FROM users u, die laatste u is geeft aan dat je dat als alias wilt gebruiken voor users. Zo is er voor de tabel status een alias s aangemaakt: LEFT JOIN status s
-Datdus-zondag 2 februari 2014 @ 12:24
quote:
0s.gif Op zaterdag 1 februari 2014 22:10 schreef Light het volgende:

[..]

Dus, als ik het goed begrijp, wil je een lijst van users die niet de status 1 hebben.
[ code verwijderd ]

quote:
0s.gif Op zondag 2 februari 2014 12:16 schreef Rockfire het volgende:

[..]

u. is een alias voor users., dus u.* is eigenlijk users.* oftewel alle kolommen uit de tabel users.

Dat kun je trouwens zien aan FROM users u, die laatste u is geeft aan dat je dat als alias wilt gebruiken voor users. Zo is er voor de tabel status een alias s aangemaakt: LEFT JOIN status s
quote:
1s.gif Op zondag 2 februari 2014 12:15 schreef totalvamp het volgende:

[..]

Dat doet zijn query ook.
U.* is alles uit users(elke column)
Super bedankt! :)
#ANONIEMzondag 2 februari 2014 @ 15:55
quote:
6s.gif Op zondag 2 februari 2014 12:24 schreef -Datdus- het volgende:

Super bedankt! :)
Ik snap alleen niet waarom je deze methode nodig hebt ;)
-Datdus-zondag 2 februari 2014 @ 16:01
quote:
1s.gif Op zondag 2 februari 2014 15:55 schreef totalvamp het volgende:

[..]

Ik snap alleen niet waarom je deze methode nodig hebt ;)
Als het af is post ik het wel even. :P
#ANONIEMzondag 2 februari 2014 @ 16:05
quote:
6s.gif Op zondag 2 februari 2014 16:01 schreef -Datdus- het volgende:

[..]

Als het af is post ik het wel even. :P
Leg het eens uit :p ben benieuwd
-Datdus-zondag 2 februari 2014 @ 21:25
cde0f21e31ee2d1de6e07dcf12a68d4b.gif

GIF heeft een beetje een lage frame-rate. :P

MP4 is beter. :P http://gyazo.com/cde0f21e31ee2d1de6e07dcf12a68d4b
#ANONIEMzondag 2 februari 2014 @ 22:42
quote:
6s.gif Op zondag 2 februari 2014 21:25 schreef -Datdus- het volgende:
[ afbeelding ]

GIF heeft een beetje een lage frame-rate. :P

MP4 is beter. :P http://gyazo.com/cde0f21e31ee2d1de6e07dcf12a68d4b
Hoe dislike je :P
-Datdus-zondag 2 februari 2014 @ 22:42
quote:
0s.gif Op zondag 2 februari 2014 22:42 schreef totalvamp het volgende:

[..]

Hoe dislike je :P
Ja ik moet nog even een hover icoon maken met een prullenbakje of zo. :D Maar je moet je linkermuisknop ingedrukt houden op de profielfoto. :P
maturonmaandag 3 februari 2014 @ 16:29
okidoki guys ik ben helaas een noob en de persoon die er nomaal erover gaat die is er de komende 2 dagen voor mij niet maar wil toch graag eventjes hulp met het volgende voor evt een tegenprestatie

ik heb firebird database
gebruik flamerobin
en heb de volgende .txt bestand met

17000 regels zoals

CHK;Retaliate;20868;20869 gescheiden door semicolon

1
2
3
4
my tabel in de database ziet er als volgt uit
Checksum  ; Name;        ; Cardno     ;  Setcode   ; Rarity  ; Premium     ;  CardcatID
782567823 ; Retaliate    ;  101       ;   CHK      ; Rare    ;  F      *   ;  **20868 (dit moet hier komen)
782844744 ; Retaliate    ;  101       ;   CHK      ; Rare    ;  T      *   ;  **20869 (dit moet hier komen)

* is true or false statement
** deze velden zijn nog reeds leeg maar moeten met die ID gevuld worden, de rest van de informatie staat al in the table

CHK;Retaliate;20868;20869
5DN;Troll;44178;44179
nu moet ik bovenstaande zo inserten dat

hij iedere regel controleert dat name en setcode overeenkomen met de database en vervolgens als hij bij Premium F(alse) tegen komt dan vult hij bij cardcaTID 20868 in en als hij bij Premium T(rue)) tegen komt dan vult hij bij 20869

dus ik heb "CHK" als "setcode column" al reeds in my database tabel dus daar moet ik mee vergelijken dat geld ook voor Auriok Windwalker als "name Column"

de eerste 5 cijferige getal is voor een
20868 is een normal kaart gezien worden en False gezet worden in Premium column
het tweede 5 cijferige getal 20869 is voor een als een daadwerkelijke premiumkaart gezien
een Premium column moet daar in true gezet worden

nu ben ik op zoek naar een oplossing of een richting van een tutorial\


Ik zou er heel erg blij zijn met wat keywords waar ik op kan zoeken en dan voornamelijk dan ik dingen vergelijk en vervolgens een handeling uitvoer

[ Bericht 5% gewijzigd door maturon op 03-02-2014 16:41:36 ]
bondagezaterdag 8 februari 2014 @ 01:07
Iemand een idee of het mogelijk is dmv een MySQL query gaten in id's te vinden? Ik heb een tabel met topic-id's, ik wil graag weten of er tussen deze id's gaten voorkomen. Bij 1 - 2 - 3 - 5 - 6 - 9 moet deze dan 4 - 7 - 8 teruggeven.

Ik kan dit wel oplossen met een PHP script maar gewoon een query is natuurlijk iets makkelijker.

Edit: Opgelost dankzij BBQworst

SELECT a.id +1 AS START, MIN( b.id ) -1 AS END
FROM fok_topic AS a, fok_topic AS b
WHERE a.id < b.id
AND a.id BETWEEN 2073302 AND 2073609
AND b.id BETWEEN 2073302 AND 2073609
GROUP BY a.id
HAVING start < MIN(b.id)

[ Bericht 15% gewijzigd door bondage op 08-02-2014 01:47:08 ]
TwenteFCzaterdag 8 februari 2014 @ 08:47
quote:
11s.gif Op zaterdag 8 februari 2014 01:07 schreef bondage het volgende:
Iemand een idee of het mogelijk is dmv een MySQL query gaten in id's te vinden? Ik heb een tabel met topic-id's, ik wil graag weten of er tussen deze id's gaten voorkomen. Bij 1 - 2 - 3 - 5 - 6 - 9 moet deze dan 4 - 7 - 8 teruggeven.

Ik kan dit wel oplossen met een PHP script maar gewoon een query is natuurlijk iets makkelijker.

Edit: Opgelost dankzij BBQworst

SELECT a.id +1 AS START, MIN( b.id ) -1 AS END
FROM fok_topic AS a, fok_topic AS b
WHERE a.id < b.id
AND a.id BETWEEN 2073302 AND 2073609
AND b.id BETWEEN 2073302 AND 2073609
GROUP BY a.id
HAVING start < MIN(b.id)
Misschien dat dit je verder kan helpen;

http://stackoverflow.com/(...)uto-increment-column
Aetherzaterdag 8 februari 2014 @ 11:04
quote:
11s.gif Op zaterdag 8 februari 2014 01:07 schreef bondage het volgende:
Iemand een idee of het mogelijk is dmv een MySQL query gaten in id's te vinden? Ik heb een tabel met topic-id's, ik wil graag weten of er tussen deze id's gaten voorkomen. Bij 1 - 2 - 3 - 5 - 6 - 9 moet deze dan 4 - 7 - 8 teruggeven.
http://www.artfulsoftware.com/infotree/queries.php#453