abonnement Unibet Coolblue Bitvavo
  dinsdag 3 juni 2014 @ 14:59:56 #1
230788 n8n
Pragmatisch
pi_140668992


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!
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:01:31 #2
230788 n8n
Pragmatisch
pi_140669046
PDO staat geïnstalleerd en actief als ik phpinfo en "print_r( get_loaded_extensions() );" mag geloven. Toch krijg ik een error die zegt: "could not find driver". wat is omhoog met deze?
Specialization is for insects”.—Robert Heinlein
pi_140669139
quote:
7s.gif Op dinsdag 3 juni 2014 15:01 schreef n8n het volgende:
PDO staat geïnstalleerd en actief als ik phpinfo en "print_r( get_loaded_extensions() );" mag geloven. Toch krijg ik een error die zegt: "could not find driver". wat is omhoog met deze?
Wat is de code die je gebruikt waarbij je deze error krijgt?
pi_140669143
quote:
7s.gif Op dinsdag 3 juni 2014 15:01 schreef n8n het volgende:
PDO staat geïnstalleerd en actief als ik phpinfo en "print_r( get_loaded_extensions() );" mag geloven. Toch krijg ik een error die zegt: "could not find driver". wat is omhoog met deze?
Wat geeft dit terug?
1
2
3
<?php
print_r
(PDO::getAvailableDrivers());
?>
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  dinsdag 3 juni 2014 @ 15:04:53 #5
25889 Sitethief
Fulltime Flapdrol
pi_140669145
Ben ik echt de enige die dit doet?
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
if ($foo != 2) {
    echo 
$bar;
} elseif (
$foo == 3) {
    echo 
$bar;
} else {
    echo 
$bar;
}

switch (
$foo) {
    case 
1:
        echo 
$bar;
    break;
    case 
2:
        echo 
$bar;
    break;
    case 
3:
        echo 
$bar;
    break;
    case 
4:
        echo 
$bar;
    break;
        echo 
$bar;
    default:

}
?>

Ik vind het echt raar dat de curly brace die een if statement afsluit niet inspringt en de break die een case afsluit wel, ik vind dat zo onoverzichtelijk, bij mij zitten case en break op dezelfde diepte. Ik merk dat ik de enige ben die dit doet..
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 3 juni 2014 @ 15:05:25 #6
230788 n8n
Pragmatisch
pi_140669159
quote:
0s.gif Op dinsdag 3 juni 2014 15:04 schreef totalvamp het volgende:

[..]

Wat is de code die je gebruikt waarbij je deze error krijgt?
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 database {
    
    public static function 
connect() {

        try {
            
            
$pdo = new PDO('
                mysql:host='
setup::database('host') .';
                dbname='
setup::database('name'), 
                
setup::database('user'), 
                
setup::database('password')
            );

        } catch(
PDOException $error) {
            print 
'Error: ' $error->getMessage();
            die();
        }

    }

}

database::connect();

teringslecht I know
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:06:32 #7
230788 n8n
Pragmatisch
pi_140669195
quote:
7s.gif Op dinsdag 3 juni 2014 15:04 schreef Aether het volgende:

[..]

Wat geeft dit terug?
[ code verwijderd ]

Array ( [0] => mysql [1] => sqlite [2] => dblib [3] => pgsql )
Specialization is for insects”.—Robert Heinlein
pi_140669228
quote:
7s.gif Op dinsdag 3 juni 2014 15:06 schreef n8n het volgende:

[..]

Array ( [0] => mysql [1] => sqlite [2] => dblib [3] => pgsql )
Hij staat dus niet geïnstalleerd.
pi_140669240
quote:
7s.gif Op dinsdag 3 juni 2014 15:07 schreef Scorpie het volgende:

[..]

Hij staat dus niet geïnstalleerd.
Dat zijn de beschikbare PDO drivers, staat er dus wel op.

quote:
7s.gif Op dinsdag 3 juni 2014 15:05 schreef n8n het volgende:

[..]
[ code verwijderd ]

teringslecht I know
Wat als je even je gegevens letterlijk invult? Zonder variabelen aan te roepen.

[ Bericht 35% gewijzigd door #ANONIEM op 03-06-2014 15:09:15 ]
  dinsdag 3 juni 2014 @ 15:09:25 #10
230788 n8n
Pragmatisch
pi_140669298
quote:
0s.gif Op dinsdag 3 juni 2014 15:07 schreef totalvamp het volgende:

[..]

Dat zijn de beschikbare PDO drivers, staat er dus wel op.
PDO is toch ook een interface en geen database-type
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:11:01 #11
25889 Sitethief
Fulltime Flapdrol
pi_140669351
quote:
7s.gif Op dinsdag 3 juni 2014 15:09 schreef n8n het volgende:

[..]

PDO is toch ook een interface en geen database-type
Klopt :).
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 3 juni 2014 @ 15:11:47 #12
230788 n8n
Pragmatisch
pi_140669372
quote:
0s.gif Op dinsdag 3 juni 2014 15:07 schreef totalvamp het volgende:

Wat als je even je gegevens letterlijk invult? Zonder variabelen aan te roepen.
zelfde error helaas
Specialization is for insects”.—Robert Heinlein
pi_140669374
quote:
7s.gif Op dinsdag 3 juni 2014 15:09 schreef n8n het volgende:

[..]

PDO is toch ook een interface en geen database-type
Ja, maar je hebt wel verschillende drivers nodig zodat de interface je queries kan vertalen naar de sql voor dat type database.
  dinsdag 3 juni 2014 @ 15:12:57 #14
230788 n8n
Pragmatisch
pi_140669399
quote:
0s.gif Op dinsdag 3 juni 2014 15:11 schreef totalvamp het volgende:

[..]

Ja, maar je hebt wel verschillende drivers nodig zodat de interface je queries kan vertalen naar de sql voor dat type database.
met mijn vermeende drivers kan ik dus praten met dat lijstje (behalve dat het niet werkt)
Specialization is for insects”.—Robert Heinlein
pi_140669410
quote:
7s.gif Op dinsdag 3 juni 2014 15:12 schreef n8n het volgende:

[..]

met mijn vermeende drivers kan ik dus praten met dat lijstje (behalve dat het niet werkt)
Probeer eens Apache te herstarten (heel soms helpt het)
  dinsdag 3 juni 2014 @ 15:15:00 #16
230788 n8n
Pragmatisch
pi_140669456
quote:
0s.gif Op dinsdag 3 juni 2014 15:13 schreef totalvamp het volgende:

[..]

Probeer eens Apache te herstarten (heel soms helpt het)
dat heb ik al een aantal keer gedaan, ook in php.ini een regel van stackoverflow uncommented maar geen soelaas
Specialization is for insects”.—Robert Heinlein
pi_140669491
quote:
1s.gif Op dinsdag 3 juni 2014 15:15 schreef n8n het volgende:

[..]

dat heb ik al een aantal keer gedaan, ook in php.ini een regel van stackoverflow uncommented maar geen soelaas
Post heel je php.ini hier eens dan. (even in code tags of spoiler)
  dinsdag 3 juni 2014 @ 15:18:21 #18
230788 n8n
Pragmatisch
pi_140669543
quote:
0s.gif Op dinsdag 3 juni 2014 15:16 schreef totalvamp het volgende:

[..]

Post heel je php.ini hier eens dan. (even in code tags of spoiler)
ga ik zo doen, even roken. Moet ook even kijken want heb nu alles via Brew geïnstalleerd en volgens mij installeert dat php op een andere locatie.
Specialization is for insects”.—Robert Heinlein
pi_140669586
quote:
1s.gif Op dinsdag 3 juni 2014 15:18 schreef n8n het volgende:

[..]

ga ik zo doen, even roken. Moet ook even kijken want heb nu alles via Brew geïnstalleerd en volgens mij installeert dat php op een andere locatie.
Ahh je zit op OSX?
pi_140669621
quote:
1s.gif Op dinsdag 3 juni 2014 15:18 schreef n8n het volgende:

[..]

ga ik zo doen, even roken. Moet ook even kijken want heb nu alles via Brew geïnstalleerd en volgens mij installeert dat php op een andere locatie.
Schrijf de eerste parameter (DNS) eens als één regel. Misschien dat de white space problemen geeft.
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_140669667
quote:
7s.gif Op dinsdag 3 juni 2014 15:20 schreef Aether het volgende:

[..]

Schrijf de eerste parameter (DNS) eens als één regel. Misschien dat de white space problemen geeft.
Dit bedoel ik ook met de opmerking even alle vars weghalen :P Misschien was ik niet duidelijk genoeg xD
  dinsdag 3 juni 2014 @ 15:22:45 #22
230788 n8n
Pragmatisch
pi_140669684
quote:
7s.gif Op dinsdag 3 juni 2014 15:20 schreef Aether het volgende:

[..]

Schrijf de eerste parameter (DNS) eens als één regel. Misschien dat de white space problemen geeft.
dat was 'm. had er niet op gerekend dat het uit zou maken :@
quote:
0s.gif Op dinsdag 3 juni 2014 15:19 schreef totalvamp het volgende:

[..]

Ahh je zit op OSX?
Ja eerst met MAMP en toen moest ik naar Homebrew want dat zou alles makkelijker maken
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:23:32 #23
230788 n8n
Pragmatisch
pi_140669705
quote:
0s.gif Op dinsdag 3 juni 2014 15:22 schreef totalvamp het volgende:

[..]

Dit bedoel ik ook met de opmerking even alle vars weghalen :P Misschien was ik niet duidelijk genoeg xD
Oops ja sorry :@ Ben 'gewend' dat code over meerdere regels kan en hou niet van lange regels dus ik zet grote statements vaak in blokken.

Bedankt allemaal ben blij dat het zo simpel was maar moet het maar net weten
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 15:24:18 #24
187069 slacker_nl
Sicko pur sang
pi_140669728
In theory there is no difference between theory and practice. In practice there is.
pi_140669753
quote:
7s.gif Op dinsdag 3 juni 2014 15:23 schreef n8n het volgende:

[..]

Oops ja sorry :@ Ben 'gewend' dat code over meerdere regels kan en hou niet van lange regels dus ik zet grote statements vaak in blokken
Ik snap je haha, ik probeer ook altijd alles duidelijk te maken op die manier. Je zal dit iig nooit meer fout doen ;)
  dinsdag 3 juni 2014 @ 15:26:21 #26
230788 n8n
Pragmatisch
pi_140669808
quote:
0s.gif Op dinsdag 3 juni 2014 15:24 schreef totalvamp het volgende:

[..]

Ik snap je haha, ik probeer ook altijd alles duidelijk te maken op die manier. Je zal dit iig nooit meer fout doen ;)
Zet eerst het statement wel in een variabele en dan doe ik het alsnog met blokken.
Specialization is for insects”.—Robert Heinlein
pi_140669844
quote:
17s.gif Op dinsdag 3 juni 2014 15:26 schreef n8n het volgende:

[..]

Zet eerst het statement wel in een variabele en dan doe ik het alsnog met blokken.
Dat is ook nog een optie, alleen eigenlijk niet nodig voor deze lijn code.
Niet alles hoeft persee in blokken te staan, zolang je intentie maar duidelijk is (pdo connect lijkt me wel duidelijk)
pi_140669908
quote:
^O^

Doorgestuurt aan mijn baas :+
pi_140669938
quote:
7s.gif Op dinsdag 3 juni 2014 15:23 schreef n8n het volgende:

[..]

Oops ja sorry :@ Ben 'gewend' dat code over meerdere regels kan en hou niet van lange regels dus ik zet grote statements vaak in blokken.

Bedankt allemaal ben blij dat het zo simpel was maar moet het maar net weten
Dan is sprintf een betere in sommige gevallen:
1
2
3
4
5
6
7
8
9
<?php
$pdo 
= new PDO(
   
sprintf('mysql:host=%s;dbname=%s',
      
setup::database('host'), setup::database('name')
   ), 
   
setup::database('user'), 
   
setup::database('password')
);
?>
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_140669993
quote:
0s.gif Op dinsdag 3 juni 2014 15:04 schreef Sitethief het volgende:
Ben ik echt de enige die dit doet?
[ code verwijderd ]

Ik vind het echt raar dat de curly brace die een if statement afsluit niet inspringt en de break die een case afsluit wel, ik vind dat zo onoverzichtelijk, bij mij zitten case en break op dezelfde diepte. Ik merk dat ik de enige ben die dit doet..
Ik vind het vooral moelijk lelijk als de open- en sluit curlybrace niet op dezelfde indent staan. En ook als er na een sluitende curlybrace direct een nieuw statement komt zonder newline.

En ja de break in een switch indent ik ook, gezien dat in principe gewoon onderdeel van de uitgevoerde code in een case is.
  dinsdag 3 juni 2014 @ 15:31:50 #31
230788 n8n
Pragmatisch
pi_140670000
quote:
7s.gif Op dinsdag 3 juni 2014 15:30 schreef Aether het volgende:

[..]

Dan is sprintf een betere in sommige gevallen:
[ code verwijderd ]

_O_
Specialization is for insects”.—Robert Heinlein
pi_140670137
quote:
7s.gif Op dinsdag 3 juni 2014 15:30 schreef Aether het volgende:

[..]

Dan is sprintf een betere in sommige gevallen:
[ code verwijderd ]

Ik vind het alleen maar onduidelijker, daarnaast gebruik je een extra functie die eigenlijk niet nodig hoort te zijn :)
Als je het dan op meerdere lijnen wilt doen, doe het dan zo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php class database {
    
    public static function 
connect() {

        try {
            
            
$pdo = new PDO('
                mysql:host='
setup::database('host') .
                
';dbname='setup::database('name'), 
                
setup::database('user'), 
                
setup::database('password')
            );

        } catch(
PDOException $error) {
            print 
'Error: ' $error->getMessage();
            die();
        }

    }

}

Je kunt bij een variabele wel op een nieuwe lijn springen aangezien hij dit niet ziet als string.

[ Bericht 12% gewijzigd door #ANONIEM op 03-06-2014 15:38:43 ]
pi_140670895
quote:
5s.gif Op dinsdag 3 juni 2014 14:09 schreef Aether het volgende:

[..]
[ code verwijderd ]

Edit: je bedoelt dus iets anders.
Ja klopt, hahaha, maar heb een oplossing.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    
function fetch_object($query$id) {
        foreach(
$this->properties as $val => $key) {
            
$holder[$key] = '';
            
$reference_properties[$key] =& $holder[$key];
        }
        
$mysqli base::open_connection();
        
$stmt $mysqli->prepare($query);
        
$id $id;
        
$stmt->bind_param("i"$id);
        
call_user_func_array(array($stmt'bind_result'), $reference_properties);
        
$stmt->execute();
        
$stmt->fetch();
        
$stmt->close();
        
$mysqli->close();
        foreach(
$reference_properties as $key => $val)
            
$this->{$key} = $val;
        return 
$this;
    }
?>
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.
  dinsdag 3 juni 2014 @ 15:56:16 #34
230788 n8n
Pragmatisch
pi_140670931
quote:
0s.gif Op dinsdag 3 juni 2014 15:35 schreef totalvamp het volgende:

[..]

Ik vind het alleen maar onduidelijker, daarnaast gebruik je een extra functie die eigenlijk niet nodig hoort te zijn :)
Als je het dan op meerdere lijnen wilt doen, doe het dan zo:
[ code verwijderd ]

Je kunt bij een variabele wel op een nieuwe lijn springen aangezien hij dit niet ziet als string.
die werkt ook niet, heb van alles geprobeerd nu, probleem is dat er ; en , in zitten met andere functies dan php verwacht. Beetje vreemd allemaal maar het zal wel, vind de sprintf nu wel oké, wordt toch een basale website dus niet alles hoeft optimaal
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 17:00:27 #35
230788 n8n
Pragmatisch
pi_140672981
Gebruik nu medoo, abstraheert de databaseinteractie dus dat deel is al voor me gedaan. Zocht een simpel framework en dat is wel geslaagd :+

http://medoo.in
Specialization is for insects”.—Robert Heinlein
  dinsdag 3 juni 2014 @ 17:25:55 #36
187069 slacker_nl
Sicko pur sang
pi_140673787
quote:
0s.gif Op dinsdag 3 juni 2014 15:35 schreef totalvamp het volgende:

[..]

Ik vind het alleen maar onduidelijker, daarnaast gebruik je een extra functie die eigenlijk niet nodig hoort te zijn :)
Als je het dan op meerdere lijnen wilt doen, doe het dan zo:
[ code verwijderd ]

Je kunt bij een variabele wel op een nieuwe lijn springen aangezien hij dit niet ziet als string.
Je gebruikt een functie die er niet hoort te zijn? Je bent bezig met een string maken, wat is er mis met sprintf ? (ik ben groot voorstander van sprintf en tegen $x . 'iets' . $anders . "want" . $dit . '\' is echt ' . $kut;
In theory there is no difference between theory and practice. In practice there is.
pi_140674254
quote:
0s.gif Op dinsdag 3 juni 2014 17:25 schreef slacker_nl het volgende:

[..]

Je gebruikt een functie die er niet hoort te zijn? Je bent bezig met een string maken, wat is er mis met sprintf ? (ik ben groot voorstander van sprintf en tegen $x . 'iets' . $anders . "want" . $dit . '\' is echt ' . $kut;
sprintf maakt het er namelijk niet duidelijker op, niet dat een concat wel duidelijk is.
Je kunt altijd nog de vars binnen de quotes plaatsen, al is dat niet overal even slim.
Ook kun je lange strings plaatsen in een HEREDOC om het echt overzichtelijk te houden.

Maar iedereen heeft zo zijn voorkeur natuurlijk.

Beste 2 manieren zijn trouwens HEREDOC en tussen dubble quotes ""

[ Bericht 3% gewijzigd door #ANONIEM op 03-06-2014 17:46:14 ]
  dinsdag 3 juni 2014 @ 17:44:04 #38
91039 mstx
2x1/2 = 1/2 x 1/2
pi_140674450
quote:
0s.gif Op dinsdag 3 juni 2014 15:04 schreef Sitethief het volgende:
Ben ik echt de enige die dit doet?
[ code verwijderd ]

Ik vind het echt raar dat de curly brace die een if statement afsluit niet inspringt en de break die een case afsluit wel, ik vind dat zo onoverzichtelijk, bij mij zitten case en break op dezelfde diepte. Ik merk dat ik de enige ben die dit doet..
Zo doe ik het over het algemeen ook, alleen bij de break; nog 1 extra tabje
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 3 juni 2014 @ 17:51:56 #39
187069 slacker_nl
Sicko pur sang
pi_140674744
quote:
0s.gif Op dinsdag 3 juni 2014 17:39 schreef totalvamp het volgende:

[..]

sprintf maakt het er namelijk niet duidelijker op, niet dat een concat wel duidelijk is.
Je kunt altijd nog de vars binnen de quotes plaatsen, al is dat niet overal even slim.
Ook kun je lange strings plaatsen in een HEREDOC om het echt overzichtelijk te houden.

Maar iedereen heeft zo zijn voorkeur natuurlijk.

Beste 2 manieren zijn trouwens HEREDOC en tussen dubble quotes ""
HEREDOC is ook niet altijd wensenlijk en "" werkt ook niet altijd, want als je met class methods gebruikt wilt het wel/niet interpoleren. IiG, in perl doet dat het niet, ik vermoed dat PHP dat ook niet doet, met sprintf kan je duidelijk zien, wat je verwacht, floats, doubles, etc etc.

$x = <<OEF
DIt is een vet lange $persoon->id gaat volgens mij ook fout in een heredoc.
OEF
In theory there is no difference between theory and practice. In practice there is.
pi_140674832
quote:
0s.gif Op dinsdag 3 juni 2014 17:51 schreef slacker_nl het volgende:

[..]

HEREDOC is ook niet altijd wensenlijk en "" werkt ook niet altijd, want als je met class methods gebruikt wilt het wel/niet interpoleren. IiG, in perl doet dat het niet, ik vermoed dat PHP dat ook niet doet, met sprintf kan je duidelijk zien, wat je verwacht, floats, doubles, etc etc.

$x = <<OEF
DIt is een vet lange $persoon->id gaat volgens mij ook fout in een heredoc.
OEF
Dat gaat dus wel, sinds de latere PHP versies heb je daar ondersteuning in.
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
/* More complex example, with variables. */
class foo
{
    var 
$foo;
    var 
$bar;

    function 
foo()
    {
        
$this->foo 'Foo';
        
$this->bar = array('Bar1''Bar2''Bar3');
    }
}

$foo = new foo();
$name 'MyName';

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some 
{$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;

?>

Bij lange strings is een sprintf niet echt duidelijk meer.

[ Bericht 0% gewijzigd door #ANONIEM op 03-06-2014 17:56:50 ]
  dinsdag 3 juni 2014 @ 18:01:46 #41
25889 Sitethief
Fulltime Flapdrol
pi_140675071
quote:
0s.gif Op dinsdag 3 juni 2014 17:44 schreef mstx het volgende:

[..]

Zo doe ik het over het algemeen ook, alleen bij de break; nog 1 extra tabje
Het is juist dat tabje wat ik zo raar vind :X.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  dinsdag 3 juni 2014 @ 18:05:08 #42
230788 n8n
Pragmatisch
pi_140675165
quote:
0s.gif Op dinsdag 3 juni 2014 18:01 schreef Sitethief het volgende:

[..]

Het is juist dat tabje wat ik zo raar vind :X.
het is toch een actie binnen de case, aan de andere kant lijkt het ook op een endif; dus beide moet wel kunnen. break zonder extra indent maakt het wel wat leesbaarder voor mij.
Specialization is for insects”.—Robert Heinlein
pi_140678848
quote:
0s.gif Op dinsdag 3 juni 2014 18:01 schreef Sitethief het volgende:

[..]

Het is juist dat tabje wat ik zo raar vind :X.
Dat snap ik echt niet. De break is onderdeel van de switch statement namelijk. :P
  dinsdag 3 juni 2014 @ 19:55:22 #44
230788 n8n
Pragmatisch
pi_140679502
Ik vind php toch erg lastig met het doorsluizen van objecten tussen classes. Moet het nog doorgronden maar het is allemaal wel erg private heb ik het idee. Van JS had ik meer het idee dat je alles heen en weer kan smijten wat het een stuk directer maakt, heb nu het idee dat ik objecten op veel plekken opnieuw aan moet roepen en abstraheren. Klein puntje is nog dat ik nu echt vaak vergeet een $-teken voor een variabele te zetten :+
Specialization is for insects”.—Robert Heinlein
  Moderator dinsdag 3 juni 2014 @ 20:37:40 #45
55052 crew  djkoelkast
www.xms.nl
pi_140681250
Ik wil al een tijd een programma maken waarmee ik mijn videobanden kan indexeren.
Bandnummer, wat er op staat, bijzonderheden, opmerkingen en dus per programma een begintijd/eindtijd.

Ik ben er aan begonnen in het voor mij bekende Autoplay Media Studio. Dat werkt volgens Luascript en die database kan ik gebruiken via sqlite3, maar ik vind het maar heel erg ingewikkeld, vooral omdat er gewoon amper documentatie over is (omdat sqlite3 een 3rd party plugin is voor APMS). Ik kan alle data wel in de db krijgen, maar ik krijg het er niet meer uit :P

Enfin, het is niet meer dan een heleboel inputvelden, drop-downs, textfields en checkboxes eigenlijk en die moeten allemaal in een doorzoekbare database komen. Ik moet uiteindelijk op alles kunnen zoeken.
Dit kan natuurlijk ook gewoon in PHP/MySQL en volgens mij is dat A: makkelijker en B: is er veel meer documentatie over te vinden.

Ik heb wel wat html/php/mysql-kennis, maar ben wat dat betreft echt nog een beginner. Ik kan dingen aanpassen en meestal lukt dat ook wel, maar echt helemaal zelf hier dingen voor gaan schrijven is nieuw. Toch zou ik het willen proberen. Dan is het programma geen programma, maar een online database waarin ik:
Nieuwe records kan maken
Records kan bewerken
Zoeken in de records op alle mogelijke velden
Alle records weergeven in een lijst en die printbaar maken

Later:

Optie om geavanceerd te zoeken, bijvoorbeeld woord AAA maar alleen als bandtype B is.
Optie om andere databases (van andere mensen die hetzelfde gaan doen) te openen
Wellicht een optie om aan te klikken 'dit wil ik' en dat er dan een mailtje naar de recordhouder gaat.
Wachtwoord of liever beveiliging op accountniveau
Optie om een nieuwe database te beginnen

First things first:

Waar kan ik het beste beginnen, ik neem aan met het maken van een databaseconnectie en een database, maar dan. INSERT INTO ik ken het wel, maar ken de syntax niet. Zijn hier simpele voorbeelden van? Ook hoe ik meerdere velden in zo'n record maak.

Wat ik dus in 1 record zou willen hebben is:

Bandnummer
Systeem
Is de opname LP, Stereo, Slechte band, beschadigde band ofzo
Opmerkingenveld
En dan per tijdentry starttijd, eindtijd, omschrijving en een paar vinkjes zoals: compleet, komt onder een andere opname vandaan, gedigitaliseerd
Die tijdentries verschillen nogal, sommige banden heb je gewoon maar 1 ding op staan,
op een andere band kunnen wel 40 of 50 verschillende tijdentries staan. Dit moet dus ook voorzien zijn, dat je bijvoorbeeld 20 tijdentries op het scherm ziet en er met een knop meer bij kunt doen (of een volgende pagina begint, maar die eerste dingen van bandnummer tot opmerkingen blijven hetzelfde).

De primary key is dus eigenlijk het bandnummer.

Hellupie, hullepie :D
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_140681887
Gaan er mensen hier trouwens naar phpconference in Amsterdam?

http://www.phpconference.nl/
pi_140682032
quote:
0s.gif Op dinsdag 3 juni 2014 20:37 schreef djkoelkast het volgende:
Ik wil al een tijd een programma maken waarmee ik mijn videobanden kan indexeren.
Bandnummer, wat er op staat, bijzonderheden, opmerkingen en dus per programma een begintijd/eindtijd.

Ik ben er aan begonnen in het voor mij bekende Autoplay Media Studio. Dat werkt volgens Luascript en die database kan ik gebruiken via sqlite3, maar ik vind het maar heel erg ingewikkeld, vooral omdat er gewoon amper documentatie over is (omdat sqlite3 een 3rd party plugin is voor APMS). Ik kan alle data wel in de db krijgen, maar ik krijg het er niet meer uit :P

Enfin, het is niet meer dan een heleboel inputvelden, drop-downs, textfields en checkboxes eigenlijk en die moeten allemaal in een doorzoekbare database komen. Ik moet uiteindelijk op alles kunnen zoeken.
Dit kan natuurlijk ook gewoon in PHP/MySQL en volgens mij is dat A: makkelijker en B: is er veel meer documentatie over te vinden.

Ik heb wel wat html/php/mysql-kennis, maar ben wat dat betreft echt nog een beginner. Ik kan dingen aanpassen en meestal lukt dat ook wel, maar echt helemaal zelf hier dingen voor gaan schrijven is nieuw. Toch zou ik het willen proberen. Dan is het programma geen programma, maar een online database waarin ik:
Nieuwe records kan maken
Records kan bewerken
Zoeken in de records op alle mogelijke velden
Alle records weergeven in een lijst en die printbaar maken

Later:

Optie om geavanceerd te zoeken, bijvoorbeeld woord AAA maar alleen als bandtype B is.
Optie om andere databases (van andere mensen die hetzelfde gaan doen) te openen
Wellicht een optie om aan te klikken 'dit wil ik' en dat er dan een mailtje naar de recordhouder gaat.
Wachtwoord of liever beveiliging op accountniveau
Optie om een nieuwe database te beginnen

First things first:

Waar kan ik het beste beginnen, ik neem aan met het maken van een databaseconnectie en een database, maar dan. INSERT INTO ik ken het wel, maar ken de syntax niet. Zijn hier simpele voorbeelden van? Ook hoe ik meerdere velden in zo'n record maak.

Wat ik dus in 1 record zou willen hebben is:

Bandnummer
Systeem
Is de opname LP, Stereo, Slechte band, beschadigde band ofzo
Opmerkingenveld
En dan per tijdentry starttijd, eindtijd, omschrijving en een paar vinkjes zoals: compleet, komt onder een andere opname vandaan, gedigitaliseerd
Die tijdentries verschillen nogal, sommige banden heb je gewoon maar 1 ding op staan,
op een andere band kunnen wel 40 of 50 verschillende tijdentries staan. Dit moet dus ook voorzien zijn, dat je bijvoorbeeld 20 tijdentries op het scherm ziet en er met een knop meer bij kunt doen (of een volgende pagina begint, maar die eerste dingen van bandnummer tot opmerkingen blijven hetzelfde).

De primary key is dus eigenlijk het bandnummer.

Hellupie, hullepie :D
Hmm, wellicht is het handig om te beginnen met het leren van normaliseren van databases. :)

http://www.phphulp.nl/php/tutorial/overig/normaliseren/150/

Dus je zult het vast in één record willen hebben in de applicatie zelf, maar dat zou ik niet in de database doen. Eerst zou ik nadenken over je data, dan wat je allemaal wil doen daarmee.

Wellicht is het een leukere oefening om zelf eens wat met PHP te stoeien alvorens je met een PHP-framework gaat werken. Frameworks maken het ontwikkelen eenvoudiger, maar het kan zijn dat je de basis dan een beetje mist.

Op http://codecademy.com/ hebben ze leuke PHP-tutorials. Volgens mij gaan ze daar ook in op OOP. :)

Veel succes!

Je kunt denk ik het beste beginnen bij waar jij wilt beginnen. Werk voor jezelf in iteraties. Welke functionaliteit wil jij als eerste af hebben, welke daarna, etc. Het überhaupt hebben van een database met banden en daarin kunnen kijken lijkt me dus de eerste iteratie. Daarna kun je daarop steeds verder bouwen.
  dinsdag 3 juni 2014 @ 21:26:09 #48
187069 slacker_nl
Sicko pur sang
pi_140683659
sqlite is wel makkelijk hoor, daar heb je geen mysql voor nodig..
In theory there is no difference between theory and practice. In practice there is.
pi_140684050
quote:
0s.gif Op dinsdag 3 juni 2014 18:01 schreef Sitethief het volgende:

[..]

Het is juist dat tabje wat ik zo raar vind :X.
Die tab zorgt ervoor dat je alle case-statements op 1 lijn hebt en alle code die uitgevoerd wordt voor een case een niveau dieper. En je kunt ook meerdere case-statements hebben zonder break ertussen, dat is dan een reden voor een groter blok op de indent van de case:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
switch ($x) {
    case 
1:
    case 
3:
    case 
5:
        echo 
'$x is oneven';
        break;
    case 
2:
    case 
4:
    case 
6:
        echo 
'$x is even';
        break;
    default:
        echo 
'Ik weet niet wat $x is';
        break;
}
?>
  dinsdag 3 juni 2014 @ 21:41:10 #50
91039 mstx
2x1/2 = 1/2 x 1/2
pi_140684362
quote:
0s.gif Op dinsdag 3 juni 2014 21:34 schreef Light het volgende:

[..]

Die tab zorgt ervoor dat je alle case-statements op 1 lijn hebt en alle code die uitgevoerd wordt voor een case een niveau dieper. En je kunt ook meerdere case-statements hebben zonder break ertussen, dat is dan een reden voor een groter blok op de indent van de case:
[ code verwijderd ]

Precies, zo vind ik het veel mooier :)
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  Moderator dinsdag 3 juni 2014 @ 22:07:50 #51
55052 crew  djkoelkast
www.xms.nl
pi_140685734
quote:
0s.gif Op dinsdag 3 juni 2014 20:55 schreef robin007bond het volgende:

[..]

Hmm, wellicht is het handig om te beginnen met het leren van normaliseren van databases. :)

http://www.phphulp.nl/php/tutorial/overig/normaliseren/150/

Dus je zult het vast in één record willen hebben in de applicatie zelf, maar dat zou ik niet in de database doen. Eerst zou ik nadenken over je data, dan wat je allemaal wil doen daarmee.

Wellicht is het een leukere oefening om zelf eens wat met PHP te stoeien alvorens je met een PHP-framework gaat werken. Frameworks maken het ontwikkelen eenvoudiger, maar het kan zijn dat je de basis dan een beetje mist.

Op http://codecademy.com/ hebben ze leuke PHP-tutorials. Volgens mij gaan ze daar ook in op OOP. :)

Veel succes!

Je kunt denk ik het beste beginnen bij waar jij wilt beginnen. Werk voor jezelf in iteraties. Welke functionaliteit wil jij als eerste af hebben, welke daarna, etc. Het überhaupt hebben van een database met banden en daarin kunnen kijken lijkt me dus de eerste iteratie. Daarna kun je daarop steeds verder bouwen.
Dank je.
Ik heb trouwens wel wat ervaring in het oude Basic en vooral if/else/ifelse statements en dat soort dingen. Ik heb ook een basiscursus programmeren gevolgd (lynda.com geloof ik) en een introductiecursus in Javascript, maar dat is dus net weer iets anders.

quote:
0s.gif Op dinsdag 3 juni 2014 21:26 schreef slacker_nl het volgende:
sqlite is wel makkelijk hoor, daar heb je geen mysql voor nodig..
Dat weet ik, maar de server waar dit op komt te draaien is mijn eigen productiewebserver, dus daar draait mysql toch al op. De eerste opzet was volledig offline.
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
  woensdag 4 juni 2014 @ 14:21:36 #52
230788 n8n
Pragmatisch
pi_140705192
Waarom werkt zoiets niet?

initialise.php (als enige required in index.php)
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 load {

    public static function 
core(){
        
// logic
        
require 'setup.php'$setup = new setup();
        require 
'medoo.php'$database = new medoo();
        require 
'route.php'//$route = new route();
        // markup
        
require 'markup/base.php';
    }

load::core();

class 
get {

    public static function 
object($name) {

        return $
$name;

    }
$test get::object('setup'); var_dump($test);
?>

de var_dump onderin resulteert in: Notice: Undefined variable: setup in initialise.php

wanneer ik $setup dump in base.php (template default) krijg ik wel een object terug: "object(setup)[1]".
Specialization is for insects”.—Robert Heinlein
pi_140705304
quote:
0s.gif Op woensdag 4 juni 2014 14:21 schreef n8n het volgende:
Waarom werkt zoiets niet?

initialise.php (als enige required in index.php)
[ code verwijderd ]

de var_dump onderin resulteert in: Notice: Undefined variable: setup in initialise.php

wanneer ik $setup dump in base.php (template default) krijg ik wel een object terug: "object(setup)[1]".
Omdat $setup een lokale variabele is?
Kun je base.php hier plaatsen?
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  woensdag 4 juni 2014 @ 14:32:03 #54
230788 n8n
Pragmatisch
pi_140705492
quote:
7s.gif Op woensdag 4 juni 2014 14:26 schreef Aether het volgende:

[..]

Omdat $setup een lokale variabele is?
Kun je base.php hier plaatsen?
base.php
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!doctype html>
<html>
<head>

    <title><?php present::meta('title'); ?></title>
    <link rel="stylesheet" type="text/css" href="presentation/style.css">

</head>

<body>

    <?php load::markup('component''navigation'); ?>
    <section id="illustration" class="container gallery">

        <header class="page">
            
            <h1>Illustration</h1>

        </header>

        <ul>
            <?php $id 0
            for (
$i 1$i <= 11$i++) { 

                if (
$id 11 ) { $id++; } else { $id 1; }
                echo 
'    
                <li class="project">
                    <header>Titel omdat het kan ja dus dat jongen</header>
                    <a href="">

                        <img src="content/illustration/afbeelding-' 
$id '.jpg">
                    </a>
                '

            } 
?>
        </ul>

    </section>

    <section id="project" class="container project">

        <header class="page">
                
            <h1>Titel van een project</h1>

        </header>

        <article>

            <p>Hagley is a town in Northern Tasmania, Australia, 22 kilometres (14 mi) southwest of Launceston on the Meander Valley Highway. The area was used by the Port Dalrymple Aboriginal Tasmanians until they were driven from their lands by European Settlement.</p>

            <footer>
                Made for NRC
            </footer>

        </article>

        <ul>
            <?php $id 0
            for (
$i 1$i <= 11$i++) { 

                if (
$id 11 ) { $id++; } else { $id 1; }
                echo 
'    
                <li class="media">

                        <img src="content/illustration/afbeelding-' 
$id '.jpg">
                        <footer>caption</footer>
                '

            } 
?>
        </ul>

    </section>

    

    <section id="contact" class="container contact">

        <header class="page">

            <h1>Get in touch</h1>

        </header>

        <article>

            <p>
                <img src="content/picture/image.jpg" width="480" height="480">
            </p>
            
            <p>06 1234 5678</p>
            <p>hi@example.com</p>
            <p>LinkedIn</p>
            <p>Facebook</p>

        </article>

        <form>
            
            <p>
                <label for="name">Your name</label>
                <input id="name" type="text" placeholder="Jane Doe">
            </p>

            <p>
                <label for="email">Email address</label>
                <input id="email" type="email" placeholder="you@example.com">
            </p>

            <p>
                <label for="message">Message</label>
                <textarea id="message"></textarea>
            </p>

            <button type="submit">Send</button>

        </form>

    </section>

</body>
</html>

Staat nog niet zo veel in behalve een wat hardcoded data die ik nog moet automatiseren.

en index.php
1
2
3
<?php
require 'core/initialise.php';
?>
Specialization is for insects”.—Robert Heinlein
pi_140705833
quote:
7s.gif Op woensdag 4 juni 2014 14:32 schreef n8n het volgende:

[..]

base.php
[ code verwijderd ]

Staat nog niet zo veel in behalve een wat hardcoded data die ik nog moet automatiseren.

en index.php
[ code verwijderd ]

$setup wordt niet in deze code gedumpt -- gebeurt dat op een andere plek?
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  woensdag 4 juni 2014 @ 14:43:02 #56
230788 n8n
Pragmatisch
pi_140705834
Als ik de required files uit de class haal werkt het op het eerste zicht wel, ook goed
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 14:44:40 #57
230788 n8n
Pragmatisch
pi_140705870
quote:
7s.gif Op woensdag 4 juni 2014 14:43 schreef Aether het volgende:

[..]

$setup wordt niet in deze code gedumpt -- gebeurt dat op een andere plek?
1
2
3
<?php
$test 
get::object('setup'); var_dump($test);
?>

de get::object functie plakt 'setup' aan aan de variable name en returned deze.
Specialization is for insects”.—Robert Heinlein
pi_140708145
quote:
0s.gif Op woensdag 4 juni 2014 14:21 schreef n8n het volgende:
Waarom werkt zoiets niet?

initialise.php (als enige required in index.php)
[ code verwijderd ]

de var_dump onderin resulteert in: Notice: Undefined variable: setup in initialise.php

wanneer ik $setup dump in base.php (template default) krijg ik wel een object terug: "object(setup)[1]".
Sorrie, maar ik snap het nut niet van wat je hier probeert te doen.
Als je files als standaard wilt includen doe je dit meestal in je bootstrap.

Daarnaast blijven je variabelen alleen beschikbaar in core().
Het is ook niet handig om een class method dependencies te geven aan bestanden/classes, als er ergens iets veranderd stort je applicatie in.
  woensdag 4 juni 2014 @ 16:02:15 #59
12221 Tijn
Powered by MS Paint
pi_140708308
n8n, heb je al eens naar autoloading gekeken? Dan hoef je niet steeds de files te includen voordat je een class aanroept.
  woensdag 4 juni 2014 @ 16:39:02 #60
230788 n8n
Pragmatisch
pi_140709552
quote:
0s.gif Op woensdag 4 juni 2014 15:57 schreef totalvamp het volgende:

[..]

Sorrie, maar ik snap het nut niet van wat je hier probeert te doen.
Als je files als standaard wilt includen doe je dit meestal in je bootstrap.

Daarnaast blijven je variabelen alleen beschikbaar in core().
Het is ook niet handig om een class method dependencies te geven aan bestanden/classes, als er ergens iets veranderd stort je applicatie in.
Was het er zelf ook al niet mee eens, wilde een manier vinden om objecten te kunnen extracten, dacht dat het zo kon. Dat het in elkaar stort bij wijziging is niet zo erg want het is ff snel hacken, ben al blij als iets werkt en ga het later nog een keer aanpassen allemaal zodra ik er wat meer van snap.

quote:
5s.gif Op woensdag 4 juni 2014 16:02 schreef Tijn het volgende:
n8n, heb je al eens naar autoloading gekeken? Dan hoef je niet steeds de files te includen voordat je een class aanroept.
Ja moet daar nog kaas van zien te maken.
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 17:18:59 #61
12221 Tijn
Powered by MS Paint
pi_140710939
quote:
7s.gif Op woensdag 4 juni 2014 16:39 schreef n8n het volgende:

[..]

Was het er zelf ook al niet mee eens, wilde een manier vinden om objecten te kunnen extracten
Wat bedoel je hiermee? Wat wil je precies dat er gebeurt?
  woensdag 4 juni 2014 @ 17:30:55 #62
230788 n8n
Pragmatisch
pi_140711340
quote:
5s.gif Op woensdag 4 juni 2014 17:18 schreef Tijn het volgende:

[..]

Wat bedoel je hiermee? Wat wil je precies dat er gebeurt?
dat als ik get::global('name') doe hij een object returned die $name heet. Leek me een manier om objecten door te sluizen maar ik ben er weer vanaf gestapt.

bijvoorbeeld in a.php kan ik niet bij object $setup in b.php. Dus ik dacht als ik een functie maak in b.php welke een object met de opgegeven variable naam returned kan deze functie in a.php aanroepen en zo het object verkrijgen. Voglens mij klopt er niks van maar dacht probeer het gewoon.

b.php $setup (object): niemand buiten deze file mag er bij.
b.php $get::object ($name): pak en return het object met de opgegeven naam (return $$name).
in a.php doe ik dan get::object('setup').
De functie plakt 'setup' aan het eerste $-teken van de return functie en tadaaaaaaaaaamaarneedus
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 17:35:23 #63
12221 Tijn
Powered by MS Paint
pi_140711506
Wat voor dingen zitten er in je setup object? Alleen properties of ook methods?

Sowieso begrijp ik je idee van "doorsluizen" niet eigenlijk :P Is het niet een idee om een static object te maken en met autoloaders te zorgen dat andere objecten erbij kunnen?
pi_140712256
quote:
7s.gif Op woensdag 4 juni 2014 16:39 schreef n8n het volgende:

[..]

Was het er zelf ook al niet mee eens, wilde een manier vinden om objecten te kunnen extracten, dacht dat het zo kon. Dat het in elkaar stort bij wijziging is niet zo erg want het is ff snel hacken, ben al blij als iets werkt en ga het later nog een keer aanpassen allemaal zodra ik er wat meer van snap.

[..]

Ja moet daar nog kaas van zien te maken.
Als je Composer installeert is autoloading echt een eitje. :D
  woensdag 4 juni 2014 @ 18:21:15 #65
230788 n8n
Pragmatisch
pi_140712937
quote:
5s.gif Op woensdag 4 juni 2014 17:35 schreef Tijn het volgende:
Wat voor dingen zitten er in je setup object? Alleen properties of ook methods?

Sowieso begrijp ik je idee van "doorsluizen" niet eigenlijk :P Is het niet een idee om een static object te maken en met autoloaders te zorgen dat andere objecten erbij kunnen?
Heb het nu opgelost door m'n base.php content in index.php te zetten, alle variables zijn nu beschikbaar. Volgens mij kwam het omdat ik een require (navigation) deed binnen een file (base.php) die net daarvoor de andere files pas gedaan had. Kan nu weer ff verder, ga nu routes aanmaken en daarna de templates schrijven die op basis van de route ingevuld worden en dan ben ik er bijna aan de frontend. Daarna een 'CMS' maken zodat m'n vriendin zelfstandig de content kan uploaden.

Heb nog nooit een cms of wat dan ook gemaakt in php maar nu is er een reden om er echt in te stappen want over 2 weken studeert ze af en dan wil ze een website voor d'r portfolio hebben.

Edit: werkt toch niet, dan maar aan de autoloader ff proberen, de setup heeft alleen array's met config (beetje zoals WP het heeft)

[ Bericht 4% gewijzigd door n8n op 04-06-2014 18:27:34 ]
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 18:27:45 #66
230788 n8n
Pragmatisch
pi_140713116
quote:
1s.gif Op woensdag 4 juni 2014 17:58 schreef robin007bond het volgende:

[..]

Als je Composer installeert is autoloading echt een eitje. :D
Dat heb ik :@
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 18:31:25 #67
12221 Tijn
Powered by MS Paint
pi_140713203
quote:
7s.gif Op woensdag 4 juni 2014 18:21 schreef n8n het volgende:

[..]

Edit: werkt toch niet, dan maar aan de autoloader ff proberen, de setup heeft alleen array's met config (beetje zoals WP het heeft)
Waarom niet gewoon constanten? Die zijn automatisch overal beschikbaar zonder dat je ze (per ongeluk) kunt veranderen.
  woensdag 4 juni 2014 @ 18:31:38 #68
230788 n8n
Pragmatisch
pi_140713212
1
2
3
4
5
6
7
8
<?php
function __autoload($class_name) {
    include 
$class_name '.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2(); 
?>

Hier staat dan (van php.net) een functie die een autoload doet, met dit moet je dan op elke pagina "__autoload($class_a);" zetten?
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 18:33:21 #69
230788 n8n
Pragmatisch
pi_140713264
quote:
3s.gif Op woensdag 4 juni 2014 18:31 schreef Tijn het volgende:

[..]

Waarom niet gewoon constanten? Die zijn automatisch overal beschikbaar zonder dat je ze (per ongeluk) kunt veranderen.
Ik heb nu dat de class $database niet beschikbaar is in navigation.php (die included is in index.php). Snap er gewoon niks van :') De setup kan ik beter wel constant neerzetten dan, scheelt weer haren van m'n kop :+
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 18:33:44 #70
12221 Tijn
Powered by MS Paint
pi_140713281
quote:
7s.gif Op woensdag 4 juni 2014 18:31 schreef n8n het volgende:

[ code verwijderd ]

Hier staat dan (van php.net) een functie die een autoload doet, met dit moet je dan op elke pagina "__autoload($class_a);" zetten?
Nee, dat zet je in een file die je inlaadt voordat je deze functionaliteit wilt gebruiken. Daarna "kent" je hele app de autoloader en kan-ie automatisch files includen op het moment dat je een class aanroept.
  woensdag 4 juni 2014 @ 18:36:09 #71
230788 n8n
Pragmatisch
pi_140713351
quote:
2s.gif Op woensdag 4 juni 2014 18:33 schreef Tijn het volgende:

[..]

Nee, dat zet je in een file die je inlaadt voordat je deze functionaliteit wilt gebruiken. Daarna "kent" je hele app de autoloader en kan-ie automatisch files includen op het moment dat je een class aanroept.
require 'setup.php'; $setup = new setup();
require 'medoo.php'; $database = new medoo();
require 'route.php'; $route = new route();

maar als ik dit heb zijn er toch ook objecten gebouwd van de classes? Toch kan ik in een later ingeladen bestand niet de $database variable gebruiken.

Fatal error: Call to a member function select() on a non-object

index.php: require initialise.php. dit gaat naar verwachting
initialise.php: require setup, database, route & base.php. werkt ook.
base.php: require navigation.php & var_dump($database) werkt (geeft een object)
navigation.php: var_dump($database) zegt dat de variable niet bestaat

[ Bericht 13% gewijzigd door n8n op 04-06-2014 18:48:38 ]
Specialization is for insects”.—Robert Heinlein
pi_140714771
quote:
7s.gif Op woensdag 4 juni 2014 18:27 schreef n8n het volgende:

[..]

Dat heb ik :@
Nou, dan is het super makkelijk te configureren. Check even de Composer site. :P
quote:
7s.gif Op woensdag 4 juni 2014 18:31 schreef n8n het volgende:

[ code verwijderd ]

Hier staat dan (van php.net) een functie die een autoload doet, met dit moet je dan op elke pagina "__autoload($class_a);" zetten?
Dat is de oude manier. De nieuwe manier gaat met spl_autoload_register.

Maar ik raad je aan om Composer een autoloader te laten genereren. Veel makkelijker. :)
  woensdag 4 juni 2014 @ 19:18:11 #73
187069 slacker_nl
Sicko pur sang
pi_140714828
quote:
2s.gif Op woensdag 4 juni 2014 18:33 schreef Tijn het volgende:

[..]

Nee, dat zet je in een file die je inlaadt voordat je deze functionaliteit wilt gebruiken. Daarna "kent" je hele app de autoloader en kan-ie automatisch files includen op het moment dat je een class aanroept.
En dat doet ie aan de hand van je....? set_include_path?

En het moeten classes zijn he, als het non-OO is werkt het niet? Op zich een handige functie, maar I dunno..
In theory there is no difference between theory and practice. In practice there is.
pi_140715498
quote:
0s.gif Op woensdag 4 juni 2014 19:16 schreef robin007bond het volgende:

[..]

Nou, dan is het super makkelijk te configureren. Check even de Composer site. :P

[..]

Dat is de oude manier. De nieuwe manier gaat met spl_autoload_register.

Maar ik raad je aan om Composer een autoloader te laten genereren. Veel makkelijker. :)
1
2
3
4
5
6
<?php
    
function __autoload($classname) {
        
$filename "classes/"strtolower($classname) .".class.php";
        require(
$filename);
    }
?>
Nog makkelijker? :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_140715664
quote:
0s.gif Op woensdag 4 juni 2014 19:33 schreef esv7 het volgende:

[..]
[ code verwijderd ]

Nog makkelijker? :P
Tsja, maar dan heb je je project niet aan de PSR-standaarden. :P
pi_140716138
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
Oo waarom niet?
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:03:53 #77
230788 n8n
Pragmatisch
pi_140716911
quote:
0s.gif Op woensdag 4 juni 2014 19:33 schreef esv7 het volgende:

[..]
[ code verwijderd ]

Nog makkelijker? :P
en om aan te roepen build je een object met $var = new classname(); ?
Specialization is for insects”.—Robert Heinlein
pi_140717019
quote:
1s.gif Op woensdag 4 juni 2014 20:03 schreef n8n het volgende:

[..]

en om aan te roepen build je een object met $var = new classname(); ?
Ja, bijvoorbeeld
1
2
3
<?php
$user 
= new User();
?>
, zolang ik de class User in de map classes heb staan.
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:07:26 #79
230788 n8n
Pragmatisch
pi_140717068
quote:
0s.gif Op woensdag 4 juni 2014 19:16 schreef robin007bond het volgende:

[..]

Nou, dan is het super makkelijk te configureren. Check even de Composer site. :P

[..]

Dat is de oude manier. De nieuwe manier gaat met spl_autoload_register.

Maar ik raad je aan om Composer een autoloader te laten genereren. Veel makkelijker. :)
ga ik even uitzoeken dan. Dacht dat je op een package doelde.

Heb nu-denk ik-wel laravel meer door en het hele mvc gebeuren meer door. Voel me een stukje verzekerden dat het wel gaat lukken als ik het oppak.

Met de controller spreek je met de database, met de route bepaal je de views per url en de views zijn templates. Klopt dat een beetje in een nutshell?
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:09:17 #80
230788 n8n
Pragmatisch
pi_140717182
quote:
0s.gif Op woensdag 4 juni 2014 20:06 schreef esv7 het volgende:

[..]

Ja, bijvoorbeeld
[ code verwijderd ]

, zolang ik de class User in de map classes heb staan.
en met deze functie moet de naam van het bestand de naam van de class zijn (dus in principe 1 class per file wat ik al heb).

Dat aanroepen doe je aan het begin 1 keer of net als een 'gewone' functie wanneer en waar je m gebruikt?

Dat maakt het wel een stuk makkelijker.

Bedankt allen voor de input. Wordt wellicht nog wat met me
Specialization is for insects”.—Robert Heinlein
pi_140717196
quote:
1s.gif Op woensdag 4 juni 2014 20:07 schreef n8n het volgende:

[..]

ga ik even uitzoeken dan. Dacht dat je op een package doelde.

Heb nu-denk ik-wel laravel meer door en het hele mvc gebeuren meer door. Voel me een stukje verzekerden dat het wel gaat lukken als ik het oppak.

Met de controller spreek je met de database, met de route bepaal je de views per url en de views zijn templates. Klopt dat een beetje in een nutshell?
Bij mij is het zo dat de controller functies uit het model gebruikt, en alleen in het model is er communicatie met de database.

Ik heb de autoloader in mijn boot.php, dus ik hoef in geen van mijn controllers classes te includen.
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:12:00 #82
230788 n8n
Pragmatisch
pi_140717301
quote:
0s.gif Op woensdag 4 juni 2014 20:09 schreef esv7 het volgende:

[..]

Bij mij is het zo dat de controller functies uit het model gebruikt, en alleen in het model is er communicatie met de database.

Ik heb de autoloader in mijn boot.php, dus ik hoef in geen van mijn controllers classes te includen.
dus controller geeft instructie aan de model en krijgt een object of boolean terug waarmee een actie voltooit wordt.
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:12:25 #83
12221 Tijn
Powered by MS Paint
pi_140717323
quote:
1s.gif Op woensdag 4 juni 2014 20:07 schreef n8n het volgende:

[..]

Met de controller spreek je met de database, met de route bepaal je de views per url en de views zijn templates. Klopt dat een beetje in een nutshell?
Ik heb geen ervaring met Laravel, maar in de klassieke MVC-opzet heb je een model dat zorgt voor een representatie van je data. Daar heb je meestal het database-gebeuren in (in het geval dat die data in een database staat natuurlijk), niet in de controller.

Het idee van de meeste frameworks is dat een router ervoor zorgt dat op basis van de url de juiste controllerfunctie wordt aangeroepen. In de controllerfunctie wordt dan data verzameld met behulp van een of meerdere models en uiteindelijk wordt een view aangeroepen waarin de HTML zit die je op de pagina wilt tonen.
  woensdag 4 juni 2014 @ 20:13:50 #84
12221 Tijn
Powered by MS Paint
pi_140717396
quote:
1s.gif Op woensdag 4 juni 2014 20:12 schreef n8n het volgende:

[..]

dus controller geeft instructie aan de model en krijgt een object of boolean terug waarmee een actie voltooit wordt.
Arrays worden in PHP ook veel gebruikt.
pi_140717404
quote:
1s.gif Op woensdag 4 juni 2014 20:12 schreef n8n het volgende:

[..]

dus controller geeft instructie aan de model en krijgt een object of boolean terug waarmee een actie voltooit wordt.
Bij mij maak ik aan de hand van een class(model) een object(controller), vervolgens roep ik met dat object een method aan uit de class waarvan deze gemaakt is.
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:14:40 #86
230788 n8n
Pragmatisch
pi_140717430
quote:
2s.gif Op woensdag 4 juni 2014 20:12 schreef Tijn het volgende:

[..]

Ik heb geen ervaring met Laravel, maar in de klassieke MVC-opzet heb je een model dat zorgt voor een representatie van je data. Daar heb je meestal het database-gebeuren in (in het geval dat die data in een database staat natuurlijk), niet in de controller.

Het idee van de meeste frameworks is dat een router ervoor zorgt dat op basis van de url de juiste controllerfunctie wordt aangeroepen. In de controllerfunctie wordt dan data verzameld met behulp van een of meerdere models en uiteindelijk wordt een view aangeroepen waarin de HTML zit die je op de pagina wilt tonen.
dat probeer ik nu een beetje te doen, mis dus nog een controller want dat doe ik nu in de templates (wat tegen het hele idee in gaat).
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:15:35 #87
12221 Tijn
Powered by MS Paint
pi_140717475
quote:
1s.gif Op woensdag 4 juni 2014 20:14 schreef n8n het volgende:

[..]

dat probeer ik nu een beetje te doen, mis dus nog een controller want dat doe ik nu in de templates (wat tegen het hele idee in gaat).
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.
  woensdag 4 juni 2014 @ 20:16:14 #88
230788 n8n
Pragmatisch
pi_140717502
quote:
2s.gif Op woensdag 4 juni 2014 20:13 schreef Tijn het volgende:

[..]

Arrays worden in PHP ook veel gebruikt.
als leek vind ik het trouwens raar dat db queries er anders zijn dan array 'queries' terwijl beide een soort tabel met data zijn.
Specialization is for insects”.—Robert Heinlein
  woensdag 4 juni 2014 @ 20:16:38 #89
12221 Tijn
Powered by MS Paint
pi_140717522
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.
Wat? :?
pi_140717566
Ik gebruik helpers om eventuele php code in mijn templates te dumpen.
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 @ 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).
pi_140997666
quote:
0s.gif Op woensdag 11 juni 2014 22:39 schreef Light het volgende:

[..]

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).
Maar die desbetreffende switch kun je niet elders aanroepen. Zo'n array met methodes wel. :)
  donderdag 12 juni 2014 @ 18:41:26 #122
118585 Crutch
Filantroop || Taalzwengel
pi_140997853
quote:
1s.gif Op donderdag 12 juni 2014 18:33 schreef robin007bond het volgende:

[..]

Maar die desbetreffende switch kun je niet elders aanroepen. Zo'n array met methodes wel. :)
Waarom zou je dat willen?
Je moeder is een hamster
pi_140998108
quote:
0s.gif Op donderdag 12 juni 2014 18:41 schreef Crutch het volgende:

[..]

Waarom zou je dat willen?
Nou.. Dezelfde condities zou je toch meerdere keren kunnen gebruiken? Hoef je niet op twee plaatsen dezelfde switch te gebruiken.
pi_141003964
Hoi. Nieuw hier :W
pi_141005030
quote:
0s.gif Op donderdag 12 juni 2014 21:06 schreef Nippeltje het volgende:
Hoi. Nieuw hier :W
Welkom!
pi_141007838
quote:
1s.gif Op donderdag 12 juni 2014 18:50 schreef robin007bond het volgende:

[..]

Nou.. Dezelfde condities zou je toch meerdere keren kunnen gebruiken? Hoef je niet op twee plaatsen dezelfde switch te gebruiken.
En waarom zou dat niet met een class kunnen?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_141009072
quote:
1s.gif Op donderdag 12 juni 2014 18:50 schreef robin007bond het volgende:

[..]

Nou.. Dezelfde condities zou je toch meerdere keren kunnen gebruiken? Hoef je niet op twee plaatsen dezelfde switch te gebruiken.
Dan zet je die switch in een functie, en die kun je wel makkelijk vanaf meerdere plekken aanroepen.
pi_141009215
quote:
0s.gif Op donderdag 12 juni 2014 22:20 schreef Light het volgende:

[..]

Dan zet je die switch in een functie, en die kun je wel makkelijk vanaf meerdere plekken aanroepen.
Je las mijn gedachten :D
Redacted
pi_141056518
Tijdje geleden dit topic aangemaakt: DIG / Crewgeschiedenis, van handmatig naar dynamisch (PHP/MySQL). Destijds weinig mee gedaan, en sinds eergisteren weer opgepakt.

http://sophiedogg.com/creating-a-google-pie-chart-using-sql-data/. Aan de hand daarvan de tabel en de pie chart dynamisch (PHP+MySQL) kunnen maken. Zie http://fok.zevkiselim.nl/crew2.0/.

Nu ben ik echter bezig met de timeline. En daar loop ik vast.

Kan iemand mij helpen om met het correct weergeven van de timeline?
Huidige source:
- index.php - http://fok.zevkiselim.nl/crew2.0/src/index.phps
- gettabledata.php - http://fok.zevkiselim.nl/crew2.0/src/gettabledata.phps
- getpiechartdata.php - http://fok.zevkiselim.nl/crew2.0/src/getpiechartdata.phps
- gettimelinedata.php - http://fok.zevkiselim.nl/crew2.0/src/gettimelinedata.phps

Met wat ik nu heb krijg ik dit te zien:
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.
Ben al twee dagen bezig om de timeline werkend te krijgen, maar het lukt me niet. :').

Ik heb geprobeerd om de onderstaande voorbeelden te gebruiken, maar ook dan kom ik niet verder:
- http://stackoverflow.com/(...)connect-to-php-mysql
- https://groups.google.com(...)msCl_Bw/cIoRT8gY40AJ

Dus... Iemand?

[ Bericht 1% gewijzigd door #ANONIEM op 14-06-2014 00:08:55 ]
pi_141061557
Het probleem zit hem in de teruggekeerde array, de data dient zo te zien (heb hem even hier thuis opgezet om te testen) dates te zijn. Bij jou zijn het unix timestamps (13......) en geen dates. Dus die dien je nog om te zetten naar dates.

Jouw response:
1["ONZ","Onzin voor je leven!","1382704503079","1382704509179"]

De code volgens de timeline site:
1[ 'Washington', new Date(1789, 3, 29), new Date(1797, 2, 3) ]

Hier moet je dus naar gaan kijken om het op te lossen, je dient het om te zetten naar dates en niet als timestamp er in te knallen!
pi_141072634
quote:
0s.gif Op zaterdag 14 juni 2014 02:05 schreef Anoniemos het volgende:
Het probleem zit hem in de teruggekeerde array, de data dient zo te zien (heb hem even hier thuis opgezet om te testen) dates te zijn. Bij jou zijn het unix timestamps (13......) en geen dates. Dus die dien je nog om te zetten naar dates.

Jouw response:
[ code verwijderd ]

De code volgens de timeline site:
[ code verwijderd ]

Hier moet je dus naar gaan kijken om het op te lossen, je dient het om te zetten naar dates en niet als timestamp er in te knallen!
Ik weet dat het aan de dates ligt. Ik heb de afgelopen dagen van alles geprobeerd, maar niets lukt. De derde en de vierde kolom (eigenlijk 2 en 3, want tellen begint bij 0) kunnen number, date of datetime zijn. Hoopte 'm met 'number' en Epoch werkend te krijgen... Heb ook verschillende vormen van 'new Date(...)' geprobeerd, maar ook daarmee lukte het niet.

Ik weet wat er niet goed gaat, ik weet alleen niet hoe ik het wel goed kan krijgen.

Kun jij of een ander me daarmee dus helpen? Datum in de database wordt opgeslagen als yyyy-mm-dd.

[ Bericht 3% gewijzigd door #ANONIEM op 14-06-2014 16:02:23 ]
pi_141079259
Een lastige:

Stel ik heb de volgende data:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
array(3) { 
    [0]=> object(stdClass)#31 (5) { 
        ["id"]=> string(3) "275" 
        ["amount"]=> string(1) "20" 
        ["user_id"]=> string(1) "2" } 
    [1]=> object(stdClass)#32 (5) { 
        ["id"]=> string(4) "1252" 
        ["amount"]=> string(1) "10" 
        ["user_id"]=> string(1) "5" 
    } 
    [2]=> object(stdClass)#33 (5) { 
        ["id"]=> string(4) "1252" 
        ["amount"]=> string(1) "30" 
        ["user_id"]=> string(1) "1" 
    }
}

Hoe krijg ik dit dan als een array waarin 'id' zijn samengevoegd en 'amount' en 'user_id' als subarray's.
Zo ongeveer:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{ "products" : [ 
      { "product_data" : 
          [ 
            { "amount" : 20,
              "user_id" : 2
            }
          ],
        "product_id" : 275
      },
      { "product_data" : 
          [ 
            { "amount" : 30,
              "user_id" : 1
            },
            { "amount" : 10,
              "user_id" : 5
            }
          ],
        "product_id" : 1252
      }
    ] }
  FOK!mycroftheld zaterdag 14 juni 2014 @ 20:12:22 #133
128465 verified  bondage
Ingewikkeld
pi_141080110
quote:
0s.gif Op zaterdag 14 juni 2014 19:50 schreef pascal08 het volgende:
Een lastige:

Stel ik heb de volgende data:
[ code verwijderd ]

Hoe krijg ik dit dan als een array waarin 'id' zijn samengevoegd en 'amount' en 'user_id' als subarray's.
Zo ongeveer:
[ code verwijderd ]

Wat wil je precies gaan doen met de resulterende array? Moet dit bijvoorbeeld in een database of nog verder verwerkt worden? Het is imo niet zo heel ingewikkeld om de array om te bouwen echter vraag ik me af wat de reden is dat de eerste niet voldoet.
pi_141080613
quote:
11s.gif Op zaterdag 14 juni 2014 20:12 schreef bondage het volgende:

[..]

Wat wil je precies gaan doen met de resulterende array? Moet dit bijvoorbeeld in een database of nog verder verwerkt worden? Het is imo niet zo heel ingewikkeld om de array om te bouwen echter vraag ik me af wat de reden is dat de eerste niet voldoet.
Uiteindelijk moeten het hapklare data worden voor DataTables, dus ik wil per rij definiëren hoe de velden bezet moeten worden.

De tabel ziet er ongeveer zo uit:
1
2
3
4
                  *user_id*     *user_id*     *user_id*          
*Product_id*      *amount*      *amount*      *amount*
*Product_id*      *amount*      *amount*      *amount*
*Product_id*      *amount*      *amount*      *amount*
  FOK!mycroftheld zaterdag 14 juni 2014 @ 20:27:50 #135
128465 verified  bondage
Ingewikkeld
pi_141080729
quote:
0s.gif Op zaterdag 14 juni 2014 20:25 schreef pascal08 het volgende:

[..]

Uiteindelijk moeten het hapklare data worden voor DataTables, dus ik wil per rij definiëren hoe de velden bezet moeten worden.

De tabel ziet er ongeveer zo uit:
[ code verwijderd ]

Ah, ja, dat is een goede reden om hem om te zetten inderdaad. Ik zal eens ff kijken of ik iets kan fixen. Of iemand anders moet me al voor zijn :+
pi_141080816
quote:
14s.gif Op zaterdag 14 juni 2014 20:27 schreef bondage het volgende:

[..]

Ah, ja, dat is een goede reden om hem om te zetten inderdaad. Ik zal eens ff kijken of ik iets kan fixen. Of iemand anders moet me al voor zijn :+
Bedankt. _O_

Ik heb zelf al gekloot met array_merge_recursive() maar ik krijg het niet beter dan dit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
array(2) {
   ["id"]=> array(3) { 
        [0]=> string(4) "1252" 
        [1]=> string(4) "1252" 
        [2]=> string(3) "275" } 
   ["product_data"]=> array(2) { 
        ["user_id"]=> array(3) { 
            [0]=> string(1) "1" 
            [1]=> string(1) "1" 
            [2]=> string(1) "1" } 
        ["amount"]=> array(3) { 
            [0]=> string(1) "1" 
            [1]=> string(1) "1" 
            [2]=> string(1) "1" } 
}}
  zaterdag 14 juni 2014 @ 20:30:07 #137
166255 Maringo
Bèhèhèhèh
pi_141080855
quote:
0s.gif Op zaterdag 14 juni 2014 20:25 schreef pascal08 het volgende:

[..]

Uiteindelijk moeten het hapklare data worden voor DataTables, dus ik wil per rij definiëren hoe de velden bezet moeten worden.

De tabel ziet er ongeveer zo uit:
[ code verwijderd ]

Wat een rare tabel en wat is het voordeel van het anders opstellen van de array?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_141081009
quote:
1s.gif Op zaterdag 14 juni 2014 20:30 schreef Maringo het volgende:

[..]

Wat een rare tabel en wat is het voordeel van het anders opstellen van de array?
De velden hebben natuurlijk niet allemaal dezelfde waarde hè.

Dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
array(3) { 
    [0]=> object(stdClass)#31 (5) { 
        ["id"]=> string(3) "275" 
        ["amount"]=> string(1) "20" 
        ["user_id"]=> string(1) "2" } 
    [1]=> object(stdClass)#32 (5) { 
        ["id"]=> string(4) "1252" 
        ["amount"]=> string(1) "10" 
        ["user_id"]=> string(1) "5" 
    } 
    [2]=> object(stdClass)#33 (5) { 
        ["id"]=> string(4) "1252" 
        ["amount"]=> string(1) "30" 
        ["user_id"]=> string(1) "1" 
    }
}
Zo in dit moeten resulteren:
1
2
3
4
                 
          1     5      2          
1252     30    10      -      
275       -     -     20

Maar misschien ben ik wel hele verkeerd bezig hoor. Geen idee. :P
  FOK!mycroftheld zaterdag 14 juni 2014 @ 20:36:24 #139
128465 verified  bondage
Ingewikkeld
pi_141081140
quote:
0s.gif Op zaterdag 14 juni 2014 20:33 schreef pascal08 het volgende:

[..]

De velden hebben natuurlijk niet allemaal dezelfde waarde hè.

Dit:
[ code verwijderd ]

Zo in dit moeten resulteren:
[ code verwijderd ]

Maar misschien ben ik wel hele verkeerd bezig hoor. Geen idee. :P
DataTables wil het in het omgezette formaat hebben toch? Ik heb geen ervaring met DataTables, echter kan ik me voorstellen dat deze een array met een bepaalde opbouw verwacht.
  FOK!mycroftheld zaterdag 14 juni 2014 @ 21:14:59 #140
128465 verified  bondage
Ingewikkeld
pi_141082581
quote:
0s.gif Op zaterdag 14 juni 2014 20:29 schreef pascal08 het volgende:

[..]

Bedankt. _O_

Ik heb zelf al gekloot met array_merge_recursive() maar ik krijg het niet beter dan dit:
[ code verwijderd ]

Is dit wat er uiteindelijk uit moet komen?

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
32
33
34
35
36
37
38
39
40
41
42
43
Array
(
    [products] => Array
        (
            [0] => Array
                (
                    [product_data] => Array
                        (
                            [0] => Array
                                (
                                    [amount] => 20
                                    [user_id] => 2
                                )

                        )

                    [product_id] => 275
                )

            [1] => Array
                (
                    [product_data] => Array
                        (
                            [0] => Array
                                (
                                    [amount] => 30
                                    [user_id] => 1
                                )

                            [1] => Array
                                (
                                    [amount] => 10
                                    [user_id] => 5
                                )

                        )

                    [product_id] => 1252
                )

        )

)
pi_141082656
quote:
11s.gif Op zaterdag 14 juni 2014 21:14 schreef bondage het volgende:

[..]

Is dit wat er uiteindelijk uit moet komen?
[ code verwijderd ]

Ja. :)
  FOK!mycroftheld zaterdag 14 juni 2014 @ 21:19:30 #142
128465 verified  bondage
Ingewikkeld
pi_141082809
quote:
0s.gif Op zaterdag 14 juni 2014 21:16 schreef pascal08 het volgende:

[..]

Ja. :)
Ok, heb ik een idee wat de code moet doen. Nu nog hopen dat ik hier iets voor kan fixen wat ook nog een beetje resource vriendelijk is met mijn stondende kop :+
pi_141083362
quote:
0s.gif Op zaterdag 14 juni 2014 00:08 schreef zarGon het volgende:
Tijdje geleden dit topic aangemaakt: DIG / Crewgeschiedenis, van handmatig naar dynamisch (PHP/MySQL). Destijds weinig mee gedaan, en sinds eergisteren weer opgepakt.

http://sophiedogg.com/creating-a-google-pie-chart-using-sql-data/. Aan de hand daarvan de tabel en de pie chart dynamisch (PHP+MySQL) kunnen maken. Zie http://fok.zevkiselim.nl/crew2.0/.

Nu ben ik echter bezig met de timeline. En daar loop ik vast.

Kan iemand mij helpen om met het correct weergeven van de timeline?
Huidige source:
- index.php - http://fok.zevkiselim.nl/crew2.0/src/index.phps
- gettabledata.php - http://fok.zevkiselim.nl/crew2.0/src/gettabledata.phps
- getpiechartdata.php - http://fok.zevkiselim.nl/crew2.0/src/getpiechartdata.phps
- gettimelinedata.php - http://fok.zevkiselim.nl/crew2.0/src/gettimelinedata.phps

Met wat ik nu heb krijg ik dit te zien:
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.
Ben al twee dagen bezig om de timeline werkend te krijgen, maar het lukt me niet. :').

Ik heb geprobeerd om de onderstaande voorbeelden te gebruiken, maar ook dan kom ik niet verder:
- http://stackoverflow.com/(...)connect-to-php-mysql
- https://groups.google.com(...)msCl_Bw/cIoRT8gY40AJ

Dus... Iemand?
Valt je project ergens te forken?
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.
  FOK!mycroftheld zaterdag 14 juni 2014 @ 21:45:14 #144
128465 verified  bondage
Ingewikkeld
pi_141084026
quote:
0s.gif Op zaterdag 14 juni 2014 21:16 schreef pascal08 het volgende:

[..]

Ja. :)
$test is je input-array.

Kan vast beter dan dit, maar het werkt wel :+

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
32
<?php
$dt_array 
= array();
$new_product_key 0;
foreach(
$test as $k => $product_data) {
    
$existing_product_key = -1;
    
    if(isset(
$dt_array['products'])) {
        foreach(
$dt_array['products'] as $k => $existing_products) {
            if(
$product_data->id == $existing_products['product_id']) {
                
$existing_product_key $k;
                break;
            }
        }
    }
    
    if(
$existing_product_key >= 0) {
        
$dt_array['products'][$existing_product_key]['product_data'][] = 
                array(
'amount' => $product_data->amount
                      
'user_id' => $product_data->user_id);
    }else{
        
$dt_array['products'][$new_product_key]['product_data'][] = 
                array(
'amount' => $product_data->amount
                      
'user_id' => $product_data->user_id);
        
        
$dt_array['products'][$new_product_key]['product_id'] = $product_data->id;
        
        
$new_product_key++;
    }
}

print_r($dt_array);
?>
pi_141084287
quote:
0s.gif Op zaterdag 14 juni 2014 00:08 schreef zarGon het volgende:
Tijdje geleden dit topic aangemaakt: DIG / Crewgeschiedenis, van handmatig naar dynamisch (PHP/MySQL). Destijds weinig mee gedaan, en sinds eergisteren weer opgepakt.

http://sophiedogg.com/creating-a-google-pie-chart-using-sql-data/. Aan de hand daarvan de tabel en de pie chart dynamisch (PHP+MySQL) kunnen maken. Zie http://fok.zevkiselim.nl/crew2.0/.

Post de code eens van de volledige crew2.0? Ik vermoed dat er daar wat foutjes ingeslopen zijn.
pi_141099946
quote:
0s.gif Op zaterdag 14 juni 2014 21:30 schreef esv7 het volgende:

[..]

Valt je project ergens te forken?
quote:
0s.gif Op zaterdag 14 juni 2014 21:49 schreef Robuustheid het volgende:

[..]

Post de code eens van de volledige crew2.0? Ik vermoed dat er daar wat foutjes ingeslopen zijn.
https://github.com/zarGonnn/FOK-crewgeschiedenis.

Waar ik naartoe wil gaan: http://fok.zevkiselim.nl/crew/.

[ Bericht 5% gewijzigd door #ANONIEM op 15-06-2014 04:07:14 ]
pi_141112657
quote:
Zojuist even een beginnetje gemaakt aan de timeline, vandaag geen tijd meer voor misschien kijk ik er van de week nog even naar als ik tijd heb.
Je kan hem syncen op github.

Hij doet het niet wanneer een activiteit geen einddatum heeft in de database.
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_141113886
quote:
0s.gif Op zondag 15 juni 2014 16:18 schreef esv7 het volgende:

[..]

Zojuist even een beginnetje gemaakt aan de timeline, vandaag geen tijd meer voor misschien kijk ik er van de week nog even naar als ik tijd heb.
Je kan hem syncen op github.
Dank je! _O_.

Hoe kan ik het beste syncen? Dit wordt dan zeg maar versie 0.0.3... Hoe kan ik dat het makkelijkst doen zonder alles handmatig te kopiëren en jouw commitsummary en -description te behouden?

Overigens, die console.log-code is denk ik toegevoegd door http://jsbeautifier.org/. Was me niet opgevallen.
quote:
Hij doet het niet wanneer een activiteit geen einddatum heeft in de database.
Einddatum van een activiteit betekent dat er nog geen einddatum is en dat de activiteit nog bezig is.

Een IFNULL zou dat probleem moeten oplossen.
1IFNULL(Einddatum,CURDATE())
pi_141114082
quote:
0s.gif Op zondag 15 juni 2014 16:18 schreef esv7 het volgende:

[..]

Zojuist even een beginnetje gemaakt aan de timeline, vandaag geen tijd meer voor misschien kijk ik er van de week nog even naar als ik tijd heb.
Je kan hem syncen op github.

Hij doet het niet wanneer een activiteit geen einddatum heeft in de database.
Ik zie nu overigens dat je met 0.0.2 bezig bent geweest en de wijzigingen zo hebt opgeslagen. Ik wilde bij elke nieuwe mijlpaal de versie verhogen. Ik plaats jouw wijzigen in 0.0.3, zou je daarmee verder willen gaan?

Mja, ik weet niet hoe het beste met nieuwe wijzigingen gewerkt kan worden en ik wil toch wel de versies terug kunnen zien, dus ik dacht 'ik maak wel een nieuwe map aan bij een nieuwe versie'. :P.
pi_141114463
quote:
0s.gif Op zondag 15 juni 2014 16:53 schreef zarGon het volgende:

[..]

Dank je! _O_.

Hoe kan ik het beste syncen? Dit wordt dan zeg maar versie 0.0.3... Hoe kan ik dat het makkelijkst doen zonder alles handmatig te kopiëren en jouw commitsummary en -description te behouden?

Overigens, die console.log-code is denk ik toegevoegd door http://jsbeautifier.org/. Was me niet opgevallen.

[..]

Einddatum van een activiteit betekent dat er nog geen einddatum is en dat de activiteit nog bezig is.

Een IFNULL zou dat probleem moeten oplossen.
[ code verwijderd ]

quote:
0s.gif Op zondag 15 juni 2014 16:58 schreef zarGon het volgende:

[..]

Ik zie nu overigens dat je met 0.0.2 bezig bent geweest en de wijzigingen zo hebt opgeslagen. Ik wilde bij elke nieuwe mijlpaal de versie verhogen. Ik plaats jouw wijzigen in 0.0.3, zou je daarmee verder willen gaan?

Mja, ik weet niet hoe het beste met nieuwe wijzigingen gewerkt kan worden en ik wil toch wel de versies terug kunnen zien, dus ik dacht 'ik maak wel een nieuwe map aan bij een nieuwe versie'. :P.
Je kan het makkelijkst syncen als je github hebt geïnstalleerd? Verder zou je dan voor iedere update een nieuwe map krijgen? Verder houd github dacht ik zelf al een versiebeheer bij zodat je altijd terug kan gaan naar een vorige release.
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_141114746
quote:
0s.gif Op zondag 15 juni 2014 17:12 schreef esv7 het volgende:

[..]

[..]

Je kan het makkelijkst syncen als je github hebt geïnstalleerd? Verder zou je dan voor iedere update een nieuwe map krijgen? Verder houd github dacht ik zelf al een versiebeheer bij zodat je altijd terug kan gaan naar een vorige release.
Er is inderdaad per bestand een versiebeheer. Je kunt de history inzien per commit en zo. Alleen heb je dan voor zover ik weet niet de versies bij elkaar (zoals mijn mapindeling).

Ik zal zometeen eens kijken hoe ik je wijzigingen test en meeneem. Zou jij het mapje 0.0.2 bij jou (met jouw updates) willen hernoemen naar 0.0.4 (jouw huidige is dan 0.0.3).

Bedankt in ieder geval dat je meekijkt. Stel ik echt op prijs!
pi_141115040
quote:
0s.gif Op zondag 15 juni 2014 17:22 schreef zarGon het volgende:

[..]

Er is inderdaad per bestand een versiebeheer. Je kunt de history inzien per commit en zo. Alleen heb je dan voor zover ik weet niet de versies bij elkaar (zoals mijn mapindeling).

Ik zal zometeen eens kijken hoe ik je wijzigingen test en meeneem. Zou jij het mapje 0.0.2 bij jou (met jouw updates) willen hernoemen naar 0.0.4 (jouw huidige is dan 0.0.3).

Bedankt in ieder geval dat je meekijkt. Stel ik echt op prijs!
http://git-scm.com/book/en/Git-Basics-Tagging
pi_141115089
quote:
0s.gif Op zondag 15 juni 2014 17:22 schreef zarGon het volgende:

[..]

Er is inderdaad per bestand een versiebeheer. Je kunt de history inzien per commit en zo. Alleen heb je dan voor zover ik weet niet de versies bij elkaar (zoals mijn mapindeling).

Ik zal zometeen eens kijken hoe ik je wijzigingen test en meeneem. Zou jij het mapje 0.0.2 bij jou (met jouw updates) willen hernoemen naar 0.0.4 (jouw huidige is dan 0.0.3).

Bedankt in ieder geval dat je meekijkt. Stel ik echt op prijs!
Oké heb het in een nieuw mapje gedaan, en als er nu geen end time is loopt die door tot vandaag.
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.
  zondag 15 juni 2014 @ 18:13:15 #154
319705 pascal08
dr. prof.
pi_141116362
quote:
10s.gif Op zaterdag 14 juni 2014 21:45 schreef bondage het volgende:

[..]

$test is je input-array.

Kan vast beter dan dit, maar het werkt wel :+
[ code verwijderd ]

Bedankt, het werkt!
  zondag 15 juni 2014 @ 19:27:41 #155
187069 slacker_nl
Sicko pur sang
pi_141118786
quote:
doe je versies taggen man, je hebt echt geen directories nodig voor je versies. dat defeats je version control.
In theory there is no difference between theory and practice. In practice there is.
pi_141119149
quote:
0s.gif Op zondag 15 juni 2014 19:27 schreef slacker_nl het volgende:

[..]

doe je versies taggen man, je hebt echt geen directories nodig voor je versies. dat defeats je version control.
:@.

Dat gaat alleen via command line? Ik heb gezocht op de GitHub-website (binnen de repo-pagina), maar kon niets vinden.
  zondag 15 juni 2014 @ 19:38:28 #157
319705 pascal08
dr. prof.
pi_141119322
Nu heb ik nog een vraagje, aansluitend op mijn vorige vraag over die tabel. Ik heb namelijk het idee dat ik te moeilijk denk.

Ik heb een lijstje met opties. Die opties kunnen geselecteerd worden onafhankelijk van elkaar. De geselecteerde opties bepalen welke items in de tabel terecht komen. Nu probeerde ik dat met DataTables te doen, waarmee ik een heel eind kwam. Het probleem is dat ik die tabel graag printvriendelijk wil maken. De TableTools plugin van DataTables heb ik al geprobeerd, maar geeft niet het gewenste resultaat. TableTools verbergt gewoonweg alle overige elementen, waardoor de tabel er heel lullig uit komt te zien.

Om het simpel te houden: wat ik graag wil is een handige manier om enkel de tabel te printen.

Hebben jullie ooit een soortgelijke situatie gehad waarin je 1 deel van de pagina wilde printen (in dit geval de tabel)? Is zo'n print plugin van jQuery wellicht de beste optie?
pi_141121018
quote:
0s.gif Op zondag 15 juni 2014 19:27 schreef slacker_nl het volgende:

[..]

doe je versies taggen man, je hebt echt geen directories nodig voor je versies. dat defeats je version control.
- Edit. -

Oeh, was best makkelijk op zich! Thanks!
quote:
Bedankt!

[ Bericht 9% gewijzigd door #ANONIEM op 15-06-2014 20:04:54 ]
pi_141136293
quote:
Weet je zeker dat de code van 0.2 werkt? Als ik de index.php lokaal open, krijg ik een syntax error. Ergens zou-ie niet goed afgesloten worden. :)

[ Bericht 11% gewijzigd door Robuustheid op 16-06-2014 00:16:05 ]
pi_141140147
Ik heb het volgende. Content van $html is:
1
2
3
4
5
<option value="foo">foobar</option>
<option value="bar">bar</option>
<option value="foobar">bar</option>
<option value="barfoo">foo</option>
<option value="empty">empty</option>

Dus een hele lijst met options met random data.

Dit wil 'schoonmaken', wat moet resulteren in:
1
2
3
4
5
foo    foobar
bar    bar
foobar bar
barfoo foo
empty  empty

Hoe kan ik dit het beste doen? Ik dacht zelf om te exploden op <option value=". Vervolgens dat weer exploden op ">. En dan weer exploden op </option>. Maar dat lijkt mij allemaal heel erg omslachtig?

Moet makkelijker/logischer kunnen?
  maandag 16 juni 2014 @ 07:33:21 #161
125913 Devolution
Beep beep Richie
pi_141141706
Je zou ook met regular expressions kunnen werken, of als je het heel makkelijk wilt houden zou je '<option value="', '">' en '</option>' uit $html kunnen halen door die drie strings te replacen door een lege string.
"You know what Hell really is? It's not lakes of burning oil or chains of ice. It's being removed from God's sight."
pi_141142445
Laad het als xml object.

Of anders een regex maken.
pi_141142588
quote:
De code van Crewgeschiedenis is ook anders dan die in je link?
pi_141143185
quote:
1s.gif Op zondag 15 juni 2014 23:56 schreef Robuustheid het volgende:

[..]

Weet je zeker dat de code van 0.2 werkt? Als ik de index.php lokaal open, krijg ik een syntax error. Ergens zou-ie niet goed afgesloten worden. :)
Jep, ik weet zeker dat de huidige versie (0.0.2) op GitHub werkt. Welke syntax error krijg je precies?
Ik heb net ook alle bestanden op de website weggegooid, GitHub-bestanden op de website geplaatst en alleen db.php aangepast. Het werkt zonder foutmeldingen.
quote:
0s.gif Op maandag 16 juni 2014 09:15 schreef Robuustheid het volgende:

[..]

De code van Crewgeschiedenis is ook anders dan die in je link?
/crew = handmatig gecodeerd (losse bestanden per user/forum).
/crew2.0 = dynamisch, nu mee bezig, moet /crew vervangen.
  maandag 16 juni 2014 @ 09:56:25 #166
25889 Sitethief
Fulltime Flapdrol
pi_141143368
quote:
12s.gif Op maandag 16 juni 2014 07:33 schreef Devolution het volgende:
Je zou ook met regular expressions kunnen werken, of als je het heel makkelijk wilt houden zou je '<option value="', '">' en '</option>' uit $html kunnen halen door die drie strings te replacen door een lege string.
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. Jamie Zawinski
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 16 juni 2014 @ 17:10:40 #167
319705 pascal08
dr. prof.
pi_141157517
quote:
0s.gif Op maandag 16 juni 2014 01:29 schreef xaban06 het volgende:
Ik heb het volgende. Content van $html is:
[ code verwijderd ]

Dus een hele lijst met options met random data.

Dit wil 'schoonmaken', wat moet resulteren in:
[ code verwijderd ]

Hoe kan ik dit het beste doen? Ik dacht zelf om te exploden op <option value=". Vervolgens dat weer exploden op ">. En dan weer exploden op </option>. Maar dat lijkt mij allemaal heel erg omslachtig?

Moet makkelijker/logischer kunnen?
Met regex in notepad++ bv:

Find:
<option value="([a-z]+)">([a-z]+)</option>

Replace:"
\1\t\2

[ Bericht 0% gewijzigd door pascal08 op 16-06-2014 18:27:47 ]
  maandag 16 juni 2014 @ 20:07:07 #168
319705 pascal08
dr. prof.
pi_141167175
In het volgende stukje code kan de Ajax variabele "d.items" een lege array zijn, waardoor er een error ontstaat wanneer de SQL query wordt gedraaid (omdat $items in de controller dus leeg kan zijn). Waar zouden jullie de check inbouwen om niets uit te voeren wanneer selectedItems() een lege array terug geeft?

Controller:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
public function generateList()
    {
        
$itemsjson_decode$this->input->post('items') ); 
        
$date $this->input->post('date');  

        
$order_data $this->db_model->getItems($items$date);
        
        [..]

        echo 
json_encode(array("data" => $table_data));
        return;
       }
?>

Model:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
public function getItems($items$date)
    {
        
$this->db->from('table_one o');
        
$this->db->join('table_two t''o.id = t.id');
        
$this->db->where_in('t.value'$items);
        
$this->db->where('o.date'$date);
        
$query $this->db->get();
        
        if(
$query->num_rows() > 0) {
            return 
$query->result();
        }
    }
?>

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
 oTable = $('#example').dataTable({
        "dom": 'lfrtip',
        "bServerSide": true,
        "ajax": {
            "url": "***",
            "data": function ( d ) {
                d.items = 
                    JSON.stringify(selectedItems()); //geeft altijd een array terug
            }
        }
    });

Ik dacht zelf aan:
Controller:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
public function generateList()
    {
        
$itemsjson_decode$this->input->post('items') ); 
        
$date $this->input->post('date');  

        if(!(
$clocks && $date)) {
            echo 
json_encode(array("data" => ""));
            return;
        }

        
$order_data $this->db_model->getItems($items$date);
        
        [..]

        echo 
json_encode(array("data" => $table_data));
        return;
       }
?>


[ Bericht 9% gewijzigd door pascal08 op 16-06-2014 20:14:52 ]
pi_141168376
Ik zou het in de model doen, anders kan je in elke aanroep die je doet eerst alles gaan lopen checken.

En als je jouw model schoon wil houden dan zou je extra laag boven je model kunnen zetten.
  maandag 16 juni 2014 @ 21:29:58 #170
319705 pascal08
dr. prof.
pi_141174007
quote:
19s.gif Op maandag 16 juni 2014 20:23 schreef TwenteFC het volgende:
Ik zou het in de model doen, anders kan je in elke aanroep die je doet eerst alles gaan lopen checken.

En als je jouw model schoon wil houden dan zou je extra laag boven je model kunnen zetten.
Ik ben het met je eens. Die functie in m'n model wordt echter alleen in deze controller functie aangeroepen. Is het dan de moeite waard om m'n model te "vervuilen" of een laag boven m'n model te maken?
pi_141174164
quote:
0s.gif Op maandag 16 juni 2014 21:29 schreef pascal08 het volgende:

[..]

Ik ben het met je eens. Die functie in m'n model wordt echter alleen in deze controller functie aangeroepen. Is het dan de moeite waard om m'n model functie te "vervuilen" of een laag boven m'n model te maken?
Nu nog wel, maar ik zou het gewoon in je model doen.
En als je in de models ziet dat je vaak dezelfde logica aan het maken bent dan zou ik het er toch uit halen, en ergens anders plaatsen.

Het lijkt er op dat je CodeIgniter gebruikt?
  maandag 16 juni 2014 @ 22:40:27 #172
319705 pascal08
dr. prof.
pi_141178830
quote:
19s.gif Op maandag 16 juni 2014 21:31 schreef TwenteFC het volgende:

[..]

Nu nog wel, maar ik zou het gewoon in je model doen.
En als je in de models ziet dat je vaak dezelfde logica aan het maken bent dan zou ik het er toch uit halen, en ergens anders plaatsen.

Het lijkt er op dat je CodeIgniter gebruikt?
Oké ^O^

Ja, CodeIgniter. :)
  woensdag 18 juni 2014 @ 10:12:05 #173
37634 wobbel
Da WoBBeL King
pi_141236199
Hoe doe ik een MySQL JOIN waarbij ik het laatste record uit de 2e tabel pak?

Doel is als volgt: ik heb 1 tabel met storingen, en een 2e tabel met storing_updates daarin. In het overzicht van de storingen wil ik de datum van de laatste regel uit storing_updates laten zien MITS daar een update aanwezig is. Hoe fix ik dat? Ik ben er al lang uit, en het lukt me werkelijk voor geen meter :(
pi_141236309
quote:
0s.gif Op woensdag 18 juni 2014 10:12 schreef wobbel het volgende:
Hoe doe ik een MySQL JOIN waarbij ik het laatste record uit de 2e tabel pak?

Doel is als volgt: ik heb 1 tabel met storingen, en een 2e tabel met storing_updates daarin. In het overzicht van de storingen wil ik de datum van de laatste regel uit storing_updates laten zien MITS daar een update aanwezig is. Hoe fix ik dat? Ik ben er al lang uit, en het lukt me werkelijk voor geen meter :(
Geef ze een ROW_NUMBER mee en pak de hoogste daarvan? :P.
  woensdag 18 juni 2014 @ 10:25:31 #175
37634 wobbel
Da WoBBeL King
pi_141236552
Dat kan toch ook op basis van de datum (unix timestamp) met hoogste waarde? Deze zit in tabel storingen_updates, maar ik weet niet hoe ik de JOIN moet bouwen om die datum er ook uit te krijgen van de laatste update (mits aanwezig)

[ Bericht 3% gewijzigd door wobbel op 18-06-2014 10:30:07 (tikfout tabelnaam) ]
pi_141237164
quote:
0s.gif Op woensdag 18 juni 2014 10:25 schreef wobbel het volgende:
Dat kan toch ook op basis van de datum (unix timestamp) met hoogste waarde? Deze zit in tabel storingen_updates, maar ik weet niet hoe ik de JOIN moet bouwen om die datum er ook uit te krijgen van de laatste update (mits aanwezig)
Gebruik top 1 i.c.m. een order by desc. In de select je primary key en eventueel de datum.
Vervolgens een join op je primary key.

1
2
3
4
5
6
7
8
SELECT
    *
FROM (SELECT TOP 1
          [PRIMARY KEY], [DATUM]
      FROM Tabel
      ORDER BY [DATUM] DESC) Latest
LEFT JOIN Tabel T
    ON T.[PRIMARY KEY] = Latest.[PRIMARY KEY]
Werkt dit?

En oh, je check op een update moet nog in een where.

[ Bericht 0% gewijzigd door #ANONIEM op 18-06-2014 11:39:33 ]
  woensdag 18 juni 2014 @ 13:56:30 #177
230788 n8n
Pragmatisch
pi_141243429
Ik heb een website met veel afbeeldingen en wil deze voor elk scherm optimaal inladen. M'n src is nu "/gallery/compact/01.jpg". compact is de standaard waarde en staat voor de kwaliteit/afmetingen van de afbeelding. Hoe kan ik het veranderen dat met "/gallery/01.jpg?q=compact" dezelfde afbeelding ingeladen wordt? Google geeft van alles wat als ik hier op zoek maar de resultaten gaan allemaal over iets anders.

Thanks
Specialization is for insects”.—Robert Heinlein
pi_141244547
Dus je wilt eigenlijk gewoon /gallery/compact/01.jpg redirecten naar /gallery/01.jpg?q=compact ?

Lees je even in in mod_rewrite en RewriteRules dan.

Overigens moet je oppassen met 'responsive' afbeeldingen. Als je niet oppast doe je meer kwaad dan goed. Volgens mij is de laatste trend om gewoon één afbeelding met relatief hoge resolutie en hoge compressie te serveren, ongeacht de device.
  donderdag 19 juni 2014 @ 09:12:25 #179
230788 n8n
Pragmatisch
pi_141278430
quote:
5s.gif Op woensdag 18 juni 2014 14:25 schreef KomtTijd... het volgende:
Dus je wilt eigenlijk gewoon /gallery/compact/01.jpg redirecten naar /gallery/01.jpg?q=compact ?

Lees je even in in mod_rewrite en RewriteRules dan.

Overigens moet je oppassen met 'responsive' afbeeldingen. Als je niet oppast doe je meer kwaad dan goed. Volgens mij is de laatste trend om gewoon één afbeelding met relatief hoge resolutie en hoge compressie te serveren, ongeacht de device.
ik heb nu 4 versies. Heb een Google I/O gekeken over rendersnelheid en fps en ben sindsdien afgestapt van het serveren van gigantische afbeeldingen. Wat ik nu doe is een grote file uploaden met flinke compressie, deze worden 1 keer door php geschaald en in mappen gezet. Standaard laadt ik compact (dus hardcoded met php).

Met js bereken ik de pixeldensity en viewport width en dat store ik in een cookie. De waarden worden geüpdatet als de viewport wijzigt (met time out) of als er geen cookie gevonden wordt. Dit cookie geeft alleen een string die ik met js wil vervangen wanneer.

De 4 versies zijn er omdat ik 2 afmetingen heb per afbeelding (afhankelijk van de viewport layout) en dan per afmeting een retina versie.

Dit leek me de manier om het zo efficiënt mogelijk te doen. Website is nu moeilijk snel ondanks de vele afbeeldingen per pagina en wil dat ook zo houden als het even kan.

Ik kan dus ook de link aanpassen binnen de url maar dat is wat lastiger omdat ik dan het midden van een string aan moet passen. Aan de andere kant wel beter want ik lees dat proxy-caching niet altijd werkt op afbeeldingen met een get-waarde

SPOILER: voorbeeld
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.
Kan de Google I/O helaas niet meer vinden, komt er op neer dat 'retina' afbeeldingen (ook met compressie veel meer paint time vergen en dat is niet nodig met een ouderwets scherm. Ook kost schalen in de browser extra tijd dus dat wil ik helemaal voorkomen, beide gebeurd met mijn huidige oplossing.Heb een paar jaar terug een test gedaan met jouw oplossing, werkt opzicht prima maar het komt met wat haken en ogen: http://n8n.nl/lab/compression/

[ Bericht 8% gewijzigd door n8n op 19-06-2014 09:32:42 ]
Specialization is for insects”.—Robert Heinlein
pi_141401549
Ik begrijp 1 ding niet.

1
2
3
4
5
6
7
8
9
<?php

<?php

echo "lala";

?>

?> 

Dit werkt niet. Maar dit werkt wel weer:

1
2
3
4
5
6
7
8
9
<?php

   include 'test.php';

   $test = new voorbeeld;
   $test->lala();


?>
Terwijl er gewoon ook php-tags in test.php staan:

quote:
<?php

class voorbeeld {
public function lala()
{
echo "lala";
}
}

?>
De include neemt toch ook die <?php> tags mee in de eerste bestand?
pi_141401612
quote:
0s.gif Op zondag 22 juni 2014 11:43 schreef Robuustheid het volgende:
Ik begrijp 1 ding niet.
[ code verwijderd ]

Dit werkt niet. Maar dit werkt wel weer:
[ code verwijderd ]

Terwijl er gewoon ook php-tags in test.php staan:

[..]

De include neemt toch ook die <?php> tags mee in de eerste bestand?
quote:
If you include a file, PHP internally switches from parsing to literal mode (i.e. what it normally does on a closing tag. That's why this works:
http://stackoverflow.com/a/4254735
pi_141401999
Bedankt voor je post. Wat is het verschil tussen parsing en literal mode?
pi_141404688
quote:
0s.gif Op zondag 22 juni 2014 12:03 schreef Robuustheid het volgende:
Bedankt voor je post. Wat is het verschil tussen parsing en literal mode?
Literal mode is buiten de <?php tags. Dit word gewoon letterlijk weergegeven. Parsing mdoe is tussen de <?php tags, deze code word geexecute:

1
2
3
4
<p>Dit is literal mode</p>
<?php
 // Dit is parsing mode
?>
pi_141405233
Duidelijk. Thanks. Maar dat zou betekenen dat php de inhoud van de included file niet parse, maar letterlijk leest, waardoor de PHP-code in de included file niet geïnterpreteerd wordt?
pi_141405416
Hij leest tot hij weer een php tag ziet. Na een tag zal hij weer parsen.
Als je in je ge-include file dus geen <?php zet , maar gewoon direct op de 1e regel een $hello = 'world';
Zal die niet geïnterpreteerd worden maar gewoon op het scherm gedrukt.

[ Bericht 6% gewijzigd door #ANONIEM op 22-06-2014 13:59:16 ]
pi_141408818
Dat is m'n vraag niet. :)
pi_141415855
MYSQL

Ik heb zojuist iets in het Excel topic geplaatst, maar misschien dat dit handiger is in combinatie met PHP én MySQL.

quote:
0s.gif Op zondag 22 juni 2014 18:46 schreef einschtein het volgende:
Ik weet niet of het mogelijk is met Excel, maar wie weet.

Mijn doel is om van A2 t/m A45 (of t/m er iets in A staat) en van C2 t/m C45 (of t/m er iets in C staat) een code creeren.

Een code die als volgt moet zijn:
[ code verwijderd ]

Waar A2/C2/A3/C3 de tekst uit de tabel zou moeten zijn. Is dit mogelijk?
pi_141547641
quote:
1s.gif Op zondag 22 juni 2014 15:42 schreef Robuustheid het volgende:
Dat is m'n vraag niet. :)
De include van PHP is niet zoals de #include van bijvoorbeeld C++. Bij C++ wordt een geïncludeerd bestand letterlijk op die plek in het bestand gezet. PHP probeert het bestand ook nog te interpreteren. Dit staat bijvoorbeeld in de documentatie op http://php.net/include :

quote:
When a file is included, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.
Dus een include begint in literal/HTML mode en zodra een PHP start tag wordt gezien, schakelt hij over op parser/PHP mode.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  vrijdag 27 juni 2014 @ 22:28:10 #189
25889 Sitethief
Fulltime Flapdrol
pi_141631321
Nog iemand anders die naar DPC 2014 gaat/gegaan is?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zaterdag 28 juni 2014 @ 08:03:22 #190
166255 Maringo
Bèhèhèhèh
pi_141638221
quote:
0s.gif Op vrijdag 27 juni 2014 22:28 schreef Sitethief het volgende:
Nog iemand anders die naar DPC 2014 gaat/gegaan is?
Present.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  zaterdag 28 juni 2014 @ 19:33:59 #191
25889 Sitethief
Fulltime Flapdrol
pi_141654879
quote:
14s.gif Op zaterdag 28 juni 2014 08:03 schreef Maringo het volgende:

[..]

Present.
Ha mooi! Dan zaten we dus allebei als een gek met glowsticks te zwaaien :X.

Welke talks vond jij echt de moeite waard?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zaterdag 28 juni 2014 @ 19:59:58 #192
166255 Maringo
Bèhèhèhèh
pi_141656019
quote:
0s.gif Op zaterdag 28 juni 2014 19:33 schreef Sitethief het volgende:

[..]

Ha mooi! Dan zaten we dus allebei als een gek met glowsticks te zwaaien :X.

Welke talks vond jij echt de moeite waard?
De mijne was vroegtijdig gebroken omdat ik hem probeerde te grijpen toen ie van mn been afgleed. _O- Hij deed het wel leuk, die keynote. Geen vage bullshit zoals je vaker ziet.

Gisteren vond ik alleen de talk over websockets best interessant. En vandaag waren Pentesting, Javascript testing en Docker de beste.

Wat vond jij interessant?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_141657209
Damn, ik vind die conferenties zo duur, anders was ik ook wel gegaan denk ik.
  zaterdag 28 juni 2014 @ 22:16:30 #194
166255 Maringo
Bèhèhèhèh
pi_141663143
quote:
9s.gif Op zaterdag 28 juni 2014 20:25 schreef robin007bond het volgende:
Damn, ik vind die conferenties zo duur, anders was ik ook wel gegaan denk ik.
Voor mij is het ook alleen maar mogelijk omdat mijn werk betaald. Anders was ik er ook niet geweest.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_141665043
quote:
0s.gif Op vrijdag 27 juni 2014 22:28 schreef Sitethief het volgende:
Nog iemand anders die naar DPC 2014 gaat/gegaan is?
Ik zou daar graag naar toe gaan, maar toch wat duur voor een scholier ;(
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.
  zondag 29 juni 2014 @ 12:42:38 #196
25889 Sitethief
Fulltime Flapdrol
pi_141677072
quote:
2s.gif Op zaterdag 28 juni 2014 22:16 schreef Maringo het volgende:

[..]

Voor mij is het ook alleen maar mogelijk omdat mijn werk betaald. Anders was ik er ook niet geweest.
Same here.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zondag 29 juni 2014 @ 12:52:02 #197
25889 Sitethief
Fulltime Flapdrol
pi_141677293
quote:
0s.gif Op zaterdag 28 juni 2014 19:33 schreef Sitethief het volgende:

[..]

Ha mooi! Dan zaten we dus allebei als een gek met glowsticks te zwaaien :X.

Welke talks vond jij echt de moeite waard?
Ik had dit lijstje nog.

Adventures in Advanced Git, goede talk, zeer leerzaam, mooie handson approach
Refactoring with Design Patterns, leerzaam maar wel erg de diepte in
PhpSpec - the only design tool you need, overload aan informatie, slechte talk
Security as part of Quality Assurance, oppervlakkige talk, wel leuke introductie voor security, noemende veels te vaak zijn bedrijf.
Behave! - Behavior Driven Development, ontzettend leerzaam, goed heldere talk
Websockets and Event-driven Programming with PHP, zeer interessant onderwerp, maar chaotische talk
Trunk Based Development, interessante talk, maar alles in je git master gooien is niet altijd even handig
Practical Event Sourcing, wow zeer interessante techniek, ontzettende goede talk
Creating models, zeer goede talk waar ik veel van geleerd heb over MVC, CQRS
Browser Eyeballing! = JavaScript Testing, leerzaam en interessant,
Modern front-end with the eyes of a PHP developer, voor mij de slechtste talk van de DPC, te snel te veel informatie in een talk stoppen en van de hak op de tak
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_141733882
Is er een manier om iets als een constante array te krijgen? Ik zou graag een lijst met externe libraries in een configuration file hebben, waar doorheen gelooped kan worden.
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_141734332
quote:
0s.gif Op maandag 30 juni 2014 19:29 schreef esv7 het volgende:
Is er een manier om iets als een constante array te krijgen? Ik zou graag een lijst met externe libraries in een configuration file hebben, waar doorheen gelooped kan worden.
zoiets?

1
2
3
4
5
6
7
8
9
<?php
class Config {

    public static 
$data = array('a');

}

echo 
Config::$data[0];
?>
..///
pi_141738989
quote:
0s.gif Op maandag 30 juni 2014 19:29 schreef esv7 het volgende:
Is er een manier om iets als een constante array te krijgen? Ik zou graag een lijst met externe libraries in een configuration file hebben, waar doorheen gelooped kan worden.
Waarom gebruik je dan niet gewoon Composer? :@

En je kunt ze ook gewoon static maken zoals wipes66 al zegt.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')