abonnement Unibet Coolblue Bitvavo
  Moderator / Redactie Sport / Devops woensdag 4 juni 2014 @ 20:17:48 #91
176766 zoem
zoemt
pi_140717591
quote:
1s.gif Op woensdag 4 juni 2014 20:16 schreef n8n het volgende:

[..]

als leek vind ik het trouwens raar dat db queries er anders zijn dan array 'queries' terwijl beide een soort tabel met data zijn.
Dat bestaat wel, LINQ en aanverwanten.
  woensdag 4 juni 2014 @ 20:17:53 #92
230788 n8n
Pragmatisch
pi_140717602
quote:
2s.gif Op woensdag 4 juni 2014 20:15 schreef Tijn het volgende:

[..]

Sommige simpele dingen kunnen wel in een template. Maar zodra er iets met je data moet gebeuren dat verder gaat dan een simpel regeltje, zou ik het verplaatsen naar de controller. Je wilt je templates qua programmeerwerk zo simpel mogelijk houden.
opzich heb ik alleen het ophalen van data, hou het voor nu maar zo om het ff duidelijk te houden. Heb ook maar 4 views oid.
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:18:46 #93
230788 n8n
Pragmatisch
pi_140717653
quote:
5s.gif Op woensdag 4 juni 2014 20:16 schreef Tijn het volgende:

[..]

Wat? :?
dat je db acties heel anders schrijft dan dezelfde zoekactie binnen een array. Datahierarchie is toch vergelijkbaar.
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:20:44 #94
12221 Tijn
Powered by MS Paint
pi_140717724
quote:
1s.gif Op woensdag 4 juni 2014 20:18 schreef n8n het volgende:

[..]

dat je db acties heel anders schrijft dan dezelfde zoekactie binnen een array. Datahierarchie is toch vergelijkbaar.
Daar zijn inderdaad wel abstractielagen voor (zoals LINQ), maar het is toch logisch dat queries op je database anders werken dan iets zoeken binnen een variabele binnen je eigen applicatie. MySQL spreekt natuurlijk geen PHP en PHP spreekt geen SQL.
  woensdag 4 juni 2014 @ 20:24:48 #95
230788 n8n
Pragmatisch
pi_140717967
quote:
0s.gif Op woensdag 4 juni 2014 19:33 schreef esv7 het volgende:

[..]
[ code verwijderd ]

Nog makkelijker? :P
Weer op de computer en het werkt _O_ Heb nu alleen 2 keer het object maar dat lijkt me niet uit te maken (als de errors me niet om de oren slaan). Superchill dit.
Specialization is for insects”.—Robert Heinlein
pi_140718079
1
2
3
4
5
6
7
<?php
    session_start
();
    
$_SESSION = array();
    
session_destroy();
    if(isset(
$_SESSION))
        
var_dump("oke");
?>
Waarom krijg ik hier de var_dump('oke') te zien?
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
  woensdag 4 juni 2014 @ 20:43:22 #97
230788 n8n
Pragmatisch
pi_140719206
quote:
0s.gif Op woensdag 4 juni 2014 20:26 schreef esv7 het volgende:

[ code verwijderd ]

Waarom krijg ik hier de var_dump('oke') te zien?
1
2
3
4
5
6
7
<?php
 session_start
();
    
$_SESSION = array();
    
session_destroy();
    if(
$_SESSION)
        
var_dump("oke");
?>
Zo doet ie het niet meer, volgens mij is $_SESSION sowieso een array, wel leeg na te hebben destroyed. als je met jouw code "var_dump($_SESSION);" doet krijg je terug dat het een lege array is.

1
2
array (size=0)
  empty
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:53:07 #98
12221 Tijn
Powered by MS Paint
pi_140719806
$_SESSION is een superglobal van PHP, die bestaat altijd, net zoals $_SERVER of $_REQUEST.
pi_140719947
quote:
7s.gif Op woensdag 4 juni 2014 20:43 schreef n8n het volgende:

[..]
[ code verwijderd ]

Zo doet ie het niet meer, volgens mij is $_SESSION sowieso een array, wel leeg na te hebben destroyed. als je met jouw code "var_dump($_SESSION);" doet krijg je terug dat het een lege array is.
[ code verwijderd ]

quote:
2s.gif Op woensdag 4 juni 2014 20:53 schreef Tijn het volgende:
$_SESSION is een superglobal van PHP, die bestaat altijd, net zoals $_SERVER of $_REQUEST.
Aaah oké, bedankt. :)

Een vraagje betreffend de veiligheid,
een sessie id moet encrypted zijn toch? Ik zat er verder aan te denken deze nog te linken aan het ip adres van de login, verder nog dingen?

[ Bericht 4% gewijzigd door esv7 op 04-06-2014 21:00:35 ]
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
  woensdag 4 juni 2014 @ 21:07:53 #100
230788 n8n
Pragmatisch
pi_140720952
quote:
11s.gif Op woensdag 4 juni 2014 20:55 schreef esv7 het volgende:

[..]

[..]

Aaah oké, bedankt. :)

Een vraagje betreffend de veiligheid,
een sessie id moet encrypted zijn toch? Ik zat er verder aan te denken deze nog te linken aan het ip adres van de login, verder nog dingen?
IP-adres lijkt me alleen raadzaam als je zeker weet dat de gebruiker op dezelfde plek blijft met hetzelfde IP-adres (wat volgens mij spaarzaam is).
Specialization is for insects”.—Robert Heinlein
pi_140721874
Een session ID hoeft niet encrypted te zijn. Het is slechts een id, bevat geen gevoelige informatie. Je wilt misschien wel een ssl-verbinding gebruiken om te voorkomen dat iemand het session ID steelt, al valt dat deels ook op te vangen door de ID te koppelen aan een IP inderdaad.

-edit- wat je ook kunt doen is de levensduur van een session ID beperken tot één request. Dan heeft het ook geen zin om deze te jatten.

[ Bericht 20% gewijzigd door KomtTijd... op 04-06-2014 21:26:52 ]
  woensdag 4 juni 2014 @ 21:26:49 #102
12221 Tijn
Powered by MS Paint
pi_140722229
Ik gebruik altijd session_regenerate_id(). Dan maakt het al helemaal niet uit als iemand je sessie id heeft, want tegen die tijd is-ie al niet meer geldig.
pi_140722653
Dus alleen telkens session_regenerate_id() aanroepen is voldoende? Bij mijn login zet ik het user_id in de sessie, het user_id encrypten en herhaaldeijk session_regenerate_id() aanroepen?
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
  Moderator / Redactie Sport / Devops woensdag 4 juni 2014 @ 21:55:16 #104
176766 zoem
zoemt
pi_140723847
Encrypten? Je bedoelt waarschijnlijk hashen? Het zijn twee verschillende dingen.
pi_140725368
quote:
12s.gif Op woensdag 4 juni 2014 21:55 schreef zoem het volgende:
Encrypten? Je bedoelt waarschijnlijk hashen? Het zijn twee verschillende dingen.
:@ Ja klopt.
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
pi_140730892
quote:
0s.gif Op woensdag 4 juni 2014 19:37 schreef robin007bond het volgende:

[..]

Tsja, maar dan heb je je project niet aan de PSR-standaarden. :P
Composer kan ook autoloaders maken voor bestanden die niet aan PSR-standaarden voldoen. Dat wordt uiteindelijk gewoon een array met als key de class name (inclusief eventuele namespace) en als value het pad waar de file staat die moet worden ingeladen.
pi_140736760
Wie kan me uitleggen in normale taal wat kardinaliteit inhoud, ik zit nu met een kardinaliteit van 16 op een unique table is dit hoog laag? aangezien ik de Wikipedia pagina hierover half snap iets met orde en verbindingheid van de tabel?
Redacted
pi_140738161
quote:
0s.gif Op donderdag 5 juni 2014 09:56 schreef cablegunmaster het volgende:
Wie kan me uitleggen in normale taal wat kardinaliteit inhoud, ik zit nu met een kardinaliteit van 16 op een unique table is dit hoog laag? aangezien ik de Wikipedia pagina hierover half snap iets met orde en verbindingheid van de tabel?
Het geeft aan hoe uniek bepaalde gegevens zijn. Bij een hoge waarde is iedere waarde in die kolom unieke, bij een lage zijn ze allemaal gelijk. De database gebruikt dit om bij het filteren/zoeken een beter "query plan" te vormen. In de praktijk wil je een hoge kardinaliteit om zo sneller te kunnen zoeken.
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_140764514
Ik moet een functie alle elementen uit een Array en een String meegeven als argumenten, kan ik daar de functie call_user_func_array voor gebruiken op een manier? :?
Alle elementen uit een Array meegeven lukt wel, alleen daarnaast nog een String meegeven krijg ik niet voor elkaar.
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
pi_140766386
quote:
9s.gif Op donderdag 5 juni 2014 23:05 schreef esv7 het volgende:
Ik moet een functie alle elementen uit een Array en een String meegeven als argumenten, kan ik daar de functie call_user_func_array voor gebruiken op een manier? :?
Alle elementen uit een Array meegeven lukt wel, alleen daarnaast nog een String meegeven krijg ik niet voor elkaar.
Je zou die string ook bij in de array kunnen stoppen, met array_unshift() of array_push()
pi_140775203
quote:
0s.gif Op donderdag 5 juni 2014 23:46 schreef Light het volgende:

[..]

Je zou die string ook bij in de array kunnen stoppen, met array_unshift() of array_push()
Ty, heb hem werkend gekregen:).
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
pi_140837574
Zojuist heb ik een nieuwe XAMPP gedownload, versie 1.8.3-4 waarbij stond php versie 5.5. Echter krijg ik nu wanneer ik phpversion() echo 5.4.22 te zien? Hoe krijg ik php versie 5.5?
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
pi_140839869
quote:
15s.gif Op zondag 8 juni 2014 18:05 schreef esv7 het volgende:
Zojuist heb ik een nieuwe XAMPP gedownload, versie 1.8.3-4 waarbij stond php versie 5.5. Echter krijg ik nu wanneer ik phpversion() echo 5.4.22 te zien? Hoe krijg ik php versie 5.5?
Dat is wel erg vreemd. Als je kijkt naar de directory waar de XAMP-installatie van PHP staat, welk versienummer zie je dan? Weet je zeker dat je XAMP-server draait en niet wat anders? Oude installatie deinstalleren en even opnieuw proberen?
pi_140840061
quote:
0s.gif Op zondag 8 juni 2014 19:25 schreef robin007bond het volgende:

[..]

Dat is wel erg vreemd. Als je kijkt naar de directory waar de XAMP-installatie van PHP staat, welk versienummer zie je dan? Weet je zeker dat je XAMP-server draait en niet wat anders? Oude installatie deinstalleren en even opnieuw proberen?
Net even gekeken, ik had de nieuwe xampp in een andere folder geïnstalleerd, maar toen ik bij de phpinfo.php ging kijken zag ik dat die de php vanuit de eerder geïnstalleerde xampp pakte. :|W , dat terwijl die andere files wel uit de nieuwe xampp installatie pakt.
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
pi_140840076
quote:
0s.gif Op zondag 8 juni 2014 19:32 schreef esv7 het volgende:

[..]

Net even gekeken, ik had de nieuwe xampp in een andere folder geïnstalleerd, maar toen ik bij de phpinfo.php ging kijken zag ik dat die de php vanuit de eerder geïnstalleerde xampp pakte. :|W , dat terwijl die andere files wel uit de nieuwe xampp installatie pakt.
Voortaan gewoon je oude installatie helemaal verwijderen dus. Scheelt weer eventueel gezeur. :P
pi_140840236
quote:
0s.gif Op zondag 8 juni 2014 19:33 schreef robin007bond het volgende:

[..]

Voortaan gewoon je oude installatie helemaal verwijderen dus. Scheelt weer eventueel gezeur. :P
Yup,

Heeft mij iets te lang geduurd :P :'( .
No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
pi_140843579
Overigens vind ik de anonieme functies in PHP 5+ erg goed werken. Je kunt nu netjes een array met functies maken. Erg handig voor het refactoren van switch-statements bijvoorbeeld.
pi_140962688
quote:
0s.gif Op zondag 8 juni 2014 21:00 schreef robin007bond het volgende:
Overigens vind ik de anonieme functies in PHP 5+ erg goed werken. Je kunt nu netjes een array met functies maken. Erg handig voor het refactoren van switch-statements bijvoorbeeld.
Hoe moet ik dat zien?
pi_140963606
quote:
0s.gif Op woensdag 11 juni 2014 18:57 schreef Light het volgende:

[..]

Hoe moet ik dat zien?
Normaal zou je wellicht zoiets hebben:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
switch($string) {
case 
"Dit":
    
// Voer hier dingen uit
    
break;
case 
"Dat":
    
// Voer hier dingen uit
    
break;
case 
"Bmgaegrmaegaermg":
    
// Voer hier dingen uit
    
break;
}

In plaats daarvan kun je een object maken met een array erin.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
class Test 
{
    private 
$voorbeeld;

    public function 
__construct() {
        
$voorbeeld = array('Dit' => function(){
            
// Voer hier dingen uit
        
}, 'Dat' => function() {
            
// Voer hier dingen uit
        
});
    }

    public function 
voerOpdrachtUit($string)
    {
        
/*
         * Hiermee wordt de methode in de array aangeroepen.
         * Eventueel kun je ook parameters meegeven
         */

        
call_user_func($this->voorbeeld[$string]);

    }
}

Voordeel is dat je de array met functies uit kan breiden met andere zaken. Wil je bijvoorbeeld een property bij 'Dit' hebben, dan geef je simpelweg een array in een array mee. :P

Maar mooier kun je dit soort dingen doen met polymorfisme en het type achterhalen. Een abstracte superklasse en allemaal subklasses die de juiste methodes dan uitvoeren.

[ Bericht 0% gewijzigd door #ANONIEM op 11-06-2014 19:24:13 ]
pi_140972204
quote:
0s.gif Op woensdag 11 juni 2014 19:23 schreef robin007bond het volgende:

[..]

Normaal zou je wellicht zoiets hebben:
[ code verwijderd ]

In plaats daarvan kun je een object maken met een array erin.
[ code verwijderd ]

Voordeel is dat je de array met functies uit kan breiden met andere zaken. Wil je bijvoorbeeld een property bij 'Dit' hebben, dan geef je simpelweg een array in een array mee. :P

Maar mooier kun je dit soort dingen doen met polymorfisme en het type achterhalen. Een abstracte superklasse en allemaal subklasses die de juiste methodes dan uitvoeren.
Ik zou dan toch gewoon gaan voor een class met verschillende functies en dan vanuit een case-statement een functie aanroepen. Dan is duidelijker wat er wordt aangeroepen als je de code leest (en dat doe je vaker dan schrijven).
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')