abonnement Unibet Coolblue Bitvavo
pi_135677737
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.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_135677976
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.
pi_135678108
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.
pi_135678371
Wat betreft de php/C# discussie: use the right tool for the right job :P
pi_135679862
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.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_135680014
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
pi_135680272
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 ;)
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_135681060
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!
  zondag 19 januari 2014 @ 16:32:38 #209
12221 Tijn
Powered by MS Paint
pi_135681245
Ik snap nog steeds niet wat Linq nou is.
pi_135681547
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);
}
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_135682064
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 ;)
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  zondag 19 januari 2014 @ 21:19:15 #212
272287 henrivo
Tikt tegen jassies
pi_135695108
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 :')
pi_135708278
quote:
1s.gif Op zondag 19 januari 2014 16:28 schreef totalvamp het volgende:
Hoera voor nosql!
You don't need it.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  maandag 20 januari 2014 @ 08:34:31 #214
187069 slacker_nl
Sicko pur sang
pi_135708395
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-)
In theory there is no difference between theory and practice. In practice there is.
  maandag 20 januari 2014 @ 09:12:24 #215
166255 Maringo
Bèhèhèhèh
pi_135708810
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
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_135708866
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.
pi_135708883
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.
  maandag 20 januari 2014 @ 10:12:16 #218
25889 Sitethief
Fulltime Flapdrol
pi_135709969
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 ]
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135710024
Ik moet bekennen dat ik zelf ook weleens terugval op Nederlands als ik niet zo snel op een goeie engelse term kan komen ;(
  maandag 20 januari 2014 @ 10:25:08 #220
12221 Tijn
Powered by MS Paint
pi_135710266
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"
pi_135710865
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 ]
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  maandag 20 januari 2014 @ 11:03:04 #222
25889 Sitethief
Fulltime Flapdrol
pi_135711231
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 .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  FOK!mycroftheld maandag 20 januari 2014 @ 11:25:47 #223
128465 Wrapster
pi_135711940
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.
pi_135712266
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 :+
pi_135713243
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 :+
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_135718464
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 :')
pi_135727796
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.
pi_135728672
Je kunt doctrine ook zelf querystrings voeren. Nog niet mee bezig geweest maar kwam het ergens tegen.
  maandag 20 januari 2014 @ 18:56:44 #229
25889 Sitethief
Fulltime Flapdrol
pi_135728684
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.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135728879
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.
  maandag 20 januari 2014 @ 19:01:12 #231
25889 Sitethief
Fulltime Flapdrol
pi_135728914
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.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135728968
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 :(
  maandag 20 januari 2014 @ 19:27:11 #233
25889 Sitethief
Fulltime Flapdrol
pi_135730485
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.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135730648
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 :')
  maandag 20 januari 2014 @ 19:39:10 #235
25889 Sitethief
Fulltime Flapdrol
pi_135731290
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.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135731532
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.

  dinsdag 21 januari 2014 @ 18:23:11 #237
230788 n8n
Pragmatisch
pi_135768369
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)
Specialization is for insects”.—Robert Heinlein
  dinsdag 21 januari 2014 @ 19:42:42 #238
118585 Crutch
Filantroop || Taalzwengel
pi_135772029
Taka taka!
Je moeder is een hamster
  woensdag 22 januari 2014 @ 10:40:33 #239
25889 Sitethief
Fulltime Flapdrol
pi_135792958
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.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135793752
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.
  woensdag 22 januari 2014 @ 11:03:09 #241
25889 Sitethief
Fulltime Flapdrol
pi_135793801
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.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135793978
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 ]
  woensdag 22 januari 2014 @ 11:25:16 #243
25889 Sitethief
Fulltime Flapdrol
pi_135794482
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...
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_135826687
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.
pi_135826736
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.
pi_135827082
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
pi_135827639
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 ]
pi_136050393
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.
  dinsdag 28 januari 2014 @ 14:38:37 #249
272287 henrivo
Tikt tegen jassies
pi_136051339
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
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')