abonnement Unibet Coolblue
  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 crew  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
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')