abonnement Unibet Coolblue
pi_173368451
Ben sinds weekje of 3 uit interesse bezig php te leren. Heb een goed boek doorgenomen, oefeningen daaruit gemaakt etc. Ook codecademy etc. doorlopen.

Ben bezig met classes, functions, OOP.

Ik merk dat ik de denkwijze wel snap, maar dan niet weet hoe ik het precies in code kan omzetten. Het gebruik van $this->willekeurigefunctie(); heb ik ook nog niet helemaal in de vingers.

Ik wil alles wel goed snappen alvorens verder te gaan.

De basis begrijp ik en kan ik goed uitvoeren, maar daarna wordt het lastiger.

Iemand goede oefeningen hiervoor?
pi_173368809
ik leerde door veel kopieren en testen. Lees dingen over Classes enzo.
pi_173368966
quote:
0s.gif Op donderdag 24 augustus 2017 19:18 schreef totalvamp het volgende:
ik leerde door veel kopieren en testen. Lees dingen over Classes enzo.
Ja dat doe ik ook, maar dan blijf ik toch een beetje hangen in de ‘vertrouwde’ dingen. Dingen die je nog niet kent zijn lastig te oefenen vind ik.
pi_173371768
beste is een project beginnen dan kom je dat soort dingen vanzelf tegen
pi_173373406
quote:
0s.gif Op donderdag 24 augustus 2017 21:14 schreef totalvamp het volgende:
beste is een project beginnen dan kom je dat soort dingen vanzelf tegen
Ben ik mee bezig inderdaad. Maar dan wordt het weer net iets te ingewikkeld.
pi_173385712
https://www.youtube.com/watch?v=wdAfILoJWcI&list=PLTney8JqQkkk2oGFQONHHKDzvsChJMKEY
Dit is wel een goede serie om een dynamische website te bouwen. Veel nuttige achtergrond informatie ook.

Wat voor project ben je mee bezig en wat is daar te ingewikkeld aan? Weet je niet waar je moet beginnen of zit je vast bij een specifiek stukje?
pi_173385814
quote:
0s.gif Op vrijdag 25 augustus 2017 14:28 schreef Alfje het volgende:
https://www.youtube.com/watch?v=wdAfILoJWcI&list=PLTney8JqQkkk2oGFQONHHKDzvsChJMKEY
Dit is wel een goede serie om een dynamische website te bouwen. Veel nuttige achtergrond informatie ook.

Wat voor project ben je mee bezig en wat is daar te ingewikkeld aan? Weet je niet waar je moet beginnen of zit je vast bij een specifiek stukje?
Thanks, ga hem eens bekijken.
Met met een zelf bedacht projectje bezig. Website bouwen waar wat auto informatie op zichtbaar wordt.

Ik heb bepaalde zaken/oplossingen in m'n hoofd, maar kan het niet omzetten naar (juiste) code.
Zodra er 1 ding niet klopt gaat het mis. Error log is dan niet altijd even duidelijk en dan weet je niet of het ligt aan je aanpak of dat simpelweg de syntax ergens foutief is. Of misschien beter gezegd, mijn denkwijze klopt, maar de uitvoering niet altijd.

[ Bericht 2% gewijzigd door #ANONIEM op 25-08-2017 14:37:10 ]
pi_173385875
Probeer vooral niet om in een keer je hele project vooruit te denken, maar maak kleine stapjes. Begin eens met het simpelweg tonen van een pagina, daarna met iets dat je bijvoorbeeld uit de database haalt. Als dat werkt ga je eens kijken of je een inlog functie kan maken enzovoorts.

Errors leren lezen, begrijpen en opzoeken is wel een essentiele vaardigheid als je verder wilt komen. De meeste foutmeldingen zijn ook wel redelijk duidelijk.
pi_173385899
quote:
0s.gif Op vrijdag 25 augustus 2017 14:37 schreef Alfje het volgende:
Probeer vooral niet om in een keer je hele project vooruit te denken, maar maak kleine stapjes. Begin eens met het simpelweg tonen van een pagina, daarna met iets dat je bijvoorbeeld uit de database haalt. Als dat werkt ga je eens kijken of je een inlog functie kan maken enzovoorts.

Errors leren lezen, begrijpen en opzoeken is wel een essentiele vaardigheid als je verder wilt komen. De meeste foutmeldingen zijn ook wel redelijk duidelijk.
Zo pak ik het inderdaad ook aan. Tonen, en CSS/HTML opmaak lukt, evenals het ophalen van MySQL. Al zou ik het niet zo uit m'n hoofd kunnen en moet ik telkens wat opzoeken hoe het precies werkt.

Waar ik nu tegen aan loop: ik heb 3 auto's als object aangemaakt, en die auto's hebben verschillende onderdelen gekregen (letterlijk als in auto-onderdelen) in de database.

Ik wil nu op het moment dat je op de detailpagina van auto 1 zit, en je klikt op een knopje onderdelen, hij een array (onderdelenlijstje) gaat vullen met de onderdelen van die betreffende auto en je als het ware een soort lijstje krijg van onderdelen die nodig zijn voor die betreffende auto (via een GET functie waar hij een ID ophaalt).
Ga je vervolgens naar de detailpagina van auto 2, en je klikt daar op onderdelen, moeten ook deze onderdelen worden toegevoegd aan hetzelfde 'onderdelenlijstje'. Indien bijvoorbeeld een stuur 2x een onderdeel is (zelfde ID) moet hij op het lijstje er 2 sturen van maken.

Errors zijn inderdaad wel te verklaren. Waar ik meer op doel is dat ik het dan lastig vind om wel de juiste oplossing te bedenken. Niet als er een ; mist ofzo, maar als er ingewikkeldere errors voortkomen wel.

[ Bericht 5% gewijzigd door #ANONIEM op 25-08-2017 14:44:08 ]
  vrijdag 25 augustus 2017 @ 15:20:00 #10
2671 Aaargh!
Gebruik op eigen risico.
pi_173386621
quote:
1s.gif Op donderdag 24 augustus 2017 22:01 schreef Blue_note het volgende:

[..]

Ben ik mee bezig inderdaad. Maar dan wordt het weer net iets te ingewikkeld.
Ik hoop dat je niet meteen afgeknapt raakt op programmeren, PHP is nu eenmaal niet echt een goede taal om wat dan ook mee te doen. Zie dit artikel. Ik zou er ver uit de buurt blijven.

Als je nu wilt beginnen met leren programmeren kan je beter kijken naar iets als Kotlin of Swift.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_173388434
php is niet fraai, maar je kunt ook overdrijven. Ik vind dit wel een mooi artikel:
https://www.jeffgeerling.com/blog/php-it-doesnt-have-be-bad-experience
pi_173388566
quote:
0s.gif Op vrijdag 25 augustus 2017 15:20 schreef Aaargh! het volgende:

[..]

Ik hoop dat je niet meteen afgeknapt raakt op programmeren, PHP is nu eenmaal niet echt een goede taal om wat dan ook mee te doen. Zie dit artikel. Ik zou er ver uit de buurt blijven.

Als je nu wilt beginnen met leren programmeren kan je beter kijken naar iets als Kotlin of Swift.
5 jaar oud artikel, inmiddels is PHP ook weer verder gegroeid.
pi_173388601
Verder is het ook maar deels modegrill. Javascript werd enkele jaren geleden gezien als de meest lelijke, onverzichtelijke kiddytaal die je maar kon verzinnen. Nu is het de heilige graal onder de programmeertalen vanwege zijn vele mogelijkheden. De taal en zijn mogelijkheden zijn gegroeid, maar diep van binnen is het toch nog dezelfde taal.
  vrijdag 25 augustus 2017 @ 17:03:28 #14
2671 Aaargh!
Gebruik op eigen risico.
pi_173388715
quote:
0s.gif Op vrijdag 25 augustus 2017 16:55 schreef Adames het volgende:

[..]

5 jaar oud artikel, inmiddels is PHP ook weer verder gegroeid.
Tenzij ze helemaal opnieuw begonnen zijn met een compleet nieuw development team zie ik niet hoe dat relevant is. Alles wat in dat artikel staat is nog steeds 100% relevant. PHP wordt ontwikkeld door amateurs, mensen die niets weten van het ontwikkelen van programmeertalen en ze zijn op geen enkele manier bereid om ook maar iets aan de taal te verbeteren.

PHP is gewoon niet geschikt voor een beginnen want het is een inconsistente teringbende, het zit vol met hele rare valkuilen. Er is echt niets goeds te zeggen over PHP.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
  vrijdag 25 augustus 2017 @ 17:04:38 #15
2671 Aaargh!
Gebruik op eigen risico.
pi_173388740
quote:
0s.gif Op vrijdag 25 augustus 2017 16:57 schreef Adames het volgende:
Verder is het ook maar deels modegrill. Javascript werd enkele jaren geleden gezien als de meest lelijke, onverzichtelijke kiddytaal die je maar kon verzinnen. Nu is het de heilige graal onder de programmeertalen vanwege zijn vele mogelijkheden.
Wat :? Waar lees je dat soort onzin ?

JavaScript is een draak van een taal en daar is echt helemaal niets aan veranderd. Er is echt helemaal geen enkele serieuze developer die het 'de heilige graal onder de programmeertalen' zal noemen. Maar zelfs JavaScript is heilig vergeleken met PHP.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_173401272
Niet op aaargh reageren joh, don't feed the trolls.
  zaterdag 26 augustus 2017 @ 12:22:04 #17
2671 Aaargh!
Gebruik op eigen risico.
pi_173402065
quote:
14s.gif Op zaterdag 26 augustus 2017 11:13 schreef KomtTijd... het volgende:
Niet op aaargh reageren joh, don't feed the trolls.
Ik probeer alleen te voorkomen dat ie gelijk afknapt op programmeren omdat z'n eerste ervaring opgedaan is met de puinhoop die PHP is.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_173404027
quote:
0s.gif Op zaterdag 26 augustus 2017 12:22 schreef Aaargh! het volgende:

[..]

Ik probeer alleen te voorkomen dat ie gelijk afknapt op programmeren omdat z'n eerste ervaring opgedaan is met de puinhoop die PHP is.
Joh, jij komt op alle topics met "PHP" of "android" in de titel af als een vlieg op een drol. Om alleen maar te lopen zeiken hoe kut en klote het is omdat het niet binnen jouw tunnelvisie van de perfecte wereld past.

Ik ga er niet eens inhoudelijk op reageren, zo zielig is het.
  zaterdag 26 augustus 2017 @ 15:26:32 #19
2671 Aaargh!
Gebruik op eigen risico.
pi_173404329
quote:
1s.gif Op zaterdag 26 augustus 2017 15:03 schreef KomtTijd... het volgende:

[..]

Joh, jij komt op alle topics met "PHP" of "android" in de titel af als een vlieg op een drol. Om alleen maar te lopen zeiken hoe kut en klote het is omdat het niet binnen jouw tunnelvisie van de perfecte wereld past.
Laat me raden, je bent zelf PHP prutser en voelt je op je pik getrapt ?

Over kansloos gesproken.

Als je het er niet mee eens bent, val het dan aan op de inhoud, maar dat kan je niet.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_173404428
Allrighty zullen we weer on topic gaan?
pi_173408104
PHP is de perfecte basis om te leren programmeren voor web. Voor je switcht naar een PHP framework zoals bijvoorbeeld Laravel of Symfony raad ik je aan om eerst PHP te leren. Als je dit voldoende beheerst kan je overstappen naar iets meer geavanceerd.

Voor oefeningen raad ik je https://www.codecademy.com/ aan. Hier vind je zowel oefeningen over OOP als theorie.

Als je de principes achter OOP begrijpt ben je al een heel eind.

Happy coding! :)

[ Bericht 8% gewijzigd door Sulka op 26-08-2017 20:33:12 ]
pi_173409852
quote:
0s.gif Op zaterdag 26 augustus 2017 20:23 schreef Sulka het volgende:
PHP is de perfecte basis om te leren programmeren voor web. Voor je switcht naar een PHP framework zoals bijvoorbeeld Laravel of Symfony raad ik je aan om eerst PHP te leren. Als je dit voldoende beheerst kan je overstappen naar iets meer geavanceerd.

Voor oefeningen raad ik je https://www.codecademy.com/ aan. Hier vind je zowel oefeningen over OOP als theorie.

Als je de principes achter OOP begrijpt ben je al een heel eind.

Happy coding! :)
Codecademy heb ik doorlopen. Maar cc stopt wanneer het spannend wordt.

De principes achter OOP zijn duidelijk.
Hoe je ze toe moet passen dmv code nog niet. Maar dat is een kwestie van doen denk ik?

Ik loop nu vast op een stuk code waar ik een functie met een return heb geschreven. Var_dump geeft de juiste output geeft, maar wanneer ik de functie aanroep en wil echo’en komt er niks. Zeer frustrerend. Stackoverflow heb ik opgegeven. Daar heb ik nog nooit een fatsoenlijk antwoord gekregen.

Symfony wil ik hierna oppakken inderdaad.

[ Bericht 1% gewijzigd door #ANONIEM op 26-08-2017 21:54:08 ]
pi_173410334
stackoverflow is soms geweldig, maar soms ook een poel van slecht advies. Kan je de relevante code posten? Fok heeft er speciale highlightinfg voor.
  zaterdag 26 augustus 2017 @ 22:35:08 #24
128155 Fir3fly
Goodnight everybody!
pi_173410970
quote:
0s.gif Op vrijdag 25 augustus 2017 17:03 schreef Aaargh! het volgende:

[..]

Tenzij ze helemaal opnieuw begonnen zijn met een compleet nieuw development team zie ik niet hoe dat relevant is. Alles wat in dat artikel staat is nog steeds 100% relevant. PHP wordt ontwikkeld door amateurs, mensen die niets weten van het ontwikkelen van programmeertalen en ze zijn op geen enkele manier bereid om ook maar iets aan de taal te verbeteren.

PHP is gewoon niet geschikt voor een beginnen want het is een inconsistente teringbende, het zit vol met hele rare valkuilen. Er is echt niets goeds te zeggen over PHP.
Laat me raden, C fan?
And if you listen very hard
The tune will come to you at last
When all are one and one is all
To be a rock and not to roll
pi_173411586
quote:
0s.gif Op zaterdag 26 augustus 2017 22:13 schreef Alfje het volgende:
stackoverflow is soms geweldig, maar soms ook een poel van slecht advies. Kan je de relevante code posten? Fok heeft er speciale highlightinfg voor.
Wat ik voor elkaar wil krijgen is dat wanneer iemand iets op een ‘itemlist’ zet, de code checkt of het item er al opstaat (items staan in MySQL database met een uniek ID), en eventueel optelt, zo niet toevoegt.

Ik denk dat ik iets moet toevoegen waar ik de comment tags heb staan.

De return werkt niet als ik de functie echo.

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
    private function getUser($id) {
    $return = array();
    $sql = "select * from user
          where id = $id";
    $result = mysqli_query($this->link, $sql);
    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        $return [] = $row;
    }
    return($return);
    }

    public function getItems($items_id) {

      $data = $this->item_object->getItem($item_id);
      echo "<pre><h1>ADD</h1>";
      var_dump($data);
      return($data);
    }

    private function checkItems($item, $exist) {

        foreach($exist as $ex) {
          if($item["id"] == $ex["id"]) {
            return(true);
          }
        }
        return(false);

    }

    public function makeList($user_id, $item_id) {

        $item_new = $this->getItems($item_id);
        $item_old = $this->getList($user_id);

        foreach($item_new as $item ) {

            $exist = $this->checkItem($item, $item_old);
            if($exist) {
              // UPDATE LIST
            } else {
              /// INSERT INTO LIST
            }

        }

    }


    public function getList($user_id) {
      $return = array();
      $sql = "select * from item list where user_id = $user_id";
      $result = mysqli_query($this->link, $sql);
      while ($row = mysqli_fetch_assoc($result)) {
        $return[] = $row;
      }

      echo "<pre><h1>EXIST</h1>";
      var_dump($return);
      return($return);
pi_173411838
quote:
1s.gif Op zaterdag 26 augustus 2017 22:57 schreef Blue_note het volgende:

[..]

Wat ik voor elkaar wil krijgen is dat wanneer iemand iets op een ‘itemlist’ zet, de code checkt of het item er al opstaat (items staan in MySQL database met een uniek ID), en eventueel optelt, zo niet toevoegt.

Ik denk dat ik iets moet toevoegen waar ik de comment tags heb staan.
Joh. Zou je denken?
pi_173411901
quote:
1s.gif Op zaterdag 26 augustus 2017 22:57 schreef Blue_note het volgende:

[..]

Wat ik voor elkaar wil krijgen is dat wanneer iemand iets op een ‘itemlist’ zet, de code checkt of het item er al opstaat (items staan in MySQL database met een uniek ID), en eventueel optelt, zo niet toevoegt.

Ik denk dat ik iets moet toevoegen waar ik de comment tags heb staan.

De return werkt niet als ik de functie echo.
[ code verwijderd ]

https://stackoverflow.com(...)urn-in-plain-english
pi_173412248
Laat je vooral niet ontmoedigen door de shitload aan commentaar die ik hier ga geven. De fouten die je maakt maakt elke beginner en je moet je vooral niet schamen. Verder lijkt het soms een beetje mierenneuken, maar geloof me dat je er heel erg veel gelukkiger van wordt als je er iets mee doet.

Gebruik geen keywords als variabele namen, dat werkt verwarrend. Geen $return, maar bijvoorbeeld $result.

Je query's zijn erg gevaarlijk op deze manier. Google eens op SQL injection.

return is geen functie maar een language construct je moet geen haakjes gebruiken. Ik denk dat het voor het resultaat niet uitmaakt, maar als het niet nodig is gebruik je geen haakjes.

Denk iets meer na over hoe je je variabelen en functies noemt, je gebruikt gelukkig al beschrijvende namen, maar train jezelf erop dat je daar niet lui in wordt. Noem bijvoorbeeld $exists en $ex in je tweede functie $existingItems en $existingItem. Noem je functie ook geen checkItems, als ik alleen de naam zie heb ik geen idee wat die dan zou moeten checken. Wat hij doet is checken of een item in een lijst met items voorkomt. listContainsItem zou een goede naam kunnen zijn. Dit is geen exacte wetenschap en je moet er een beetje gevoel voor ontwikkelen, maar probeer er aandacht aan te geven.

Php heeft een behoorlijk aantal coding standards, Gebruik ze en gebruik ze consistent.
http://www.php-fig.org/psr/psr-1/

Verder heeft wat je doet vrij weinig met OOP te maken. Dit is een valkuil waar je vooral met php snel intrapt omdat je zoveel met een array kan doen. Maar een item zou bijvoorbeeld een eigen class moeten zijn, niet een array dat je rondstuurt. Datzelfde geldt voor user.

Ik zie ook nog neit wat je nou precies probeert te doen. In je makelist functie roep je getitems aan met een item_id, hoe kun je meerdere items terugkrijgen als je hem met een id aanroept? Als ik het goed begrijp heb je al items in je database staan en heb je per user een lijst met items die aan die user gekoppeld is. Er kan een item aan een gebruiker worden toegevoegd, eventueel zelfs meerdere keren. Hoe heb je dat in je database opgelost?
pi_173416842
quote:
0s.gif Op zaterdag 26 augustus 2017 23:37 schreef Alfje het volgende:
Laat je vooral niet ontmoedigen door de shitload aan commentaar die ik hier ga geven. De fouten die je maakt maakt elke beginner en je moet je vooral niet schamen. Verder lijkt het soms een beetje mierenneuken, maar geloof me dat je er heel erg veel gelukkiger van wordt als je er iets mee doet.

Gebruik geen keywords als variabele namen, dat werkt verwarrend. Geen $return, maar bijvoorbeeld $result.

Je query's zijn erg gevaarlijk op deze manier. Google eens op SQL injection.

return is geen functie maar een language construct je moet geen haakjes gebruiken. Ik denk dat het voor het resultaat niet uitmaakt, maar als het niet nodig is gebruik je geen haakjes.

Denk iets meer na over hoe je je variabelen en functies noemt, je gebruikt gelukkig al beschrijvende namen, maar train jezelf erop dat je daar niet lui in wordt. Noem bijvoorbeeld $exists en $ex in je tweede functie $existingItems en $existingItem. Noem je functie ook geen checkItems, als ik alleen de naam zie heb ik geen idee wat die dan zou moeten checken. Wat hij doet is checken of een item in een lijst met items voorkomt. listContainsItem zou een goede naam kunnen zijn. Dit is geen exacte wetenschap en je moet er een beetje gevoel voor ontwikkelen, maar probeer er aandacht aan te geven.

Php heeft een behoorlijk aantal coding standards, Gebruik ze en gebruik ze consistent.
http://www.php-fig.org/psr/psr-1/

Verder heeft wat je doet vrij weinig met OOP te maken. Dit is een valkuil waar je vooral met php snel intrapt omdat je zoveel met een array kan doen. Maar een item zou bijvoorbeeld een eigen class moeten zijn, niet een array dat je rondstuurt. Datzelfde geldt voor user.

Ik zie ook nog neit wat je nou precies probeert te doen. In je makelist functie roep je getitems aan met een item_id, hoe kun je meerdere items terugkrijgen als je hem met een id aanroept? Als ik het goed begrijp heb je al items in je database staan en heb je per user een lijst met items die aan die user gekoppeld is. Er kan een item aan een gebruiker worden toegevoegd, eventueel zelfs meerdere keren. Hoe heb je dat in je database opgelost?
Thanks voor je antwoord. Ik ben me inderdaad van de slordigheden bewust ja...

Er zijn classes user, item etc.

Alle items hebben in de database een uniek ID.
Dan is er een database auto’s die meerdere item ID kunnen bevatten.

Met een foreach kun je toch blijven loopen met meerdere items/id’s?!

Ik was al blij dat ik dit na 3 weken wist te fabriceren. Die blijdschap laat ik varen nu _O-

[ Bericht 3% gewijzigd door #ANONIEM op 27-08-2017 09:58:54 ]
pi_173417485
quote:
Maar een functie met een return kun je toch echo’en of?

Als ik dit doe:
1
2
3
4
5
6
7
Function bereken(){
$result = 1*2;

Return $result
}

Echo bereken()

Krijg ik toch een echo op mn scherm?

[ Bericht 23% gewijzigd door #ANONIEM op 27-08-2017 10:40:10 ]
pi_173417514
Veel mensen krijgen het niet eens voor elkaar om iets werkends te produceren, dus je bent goed op weg. Maarja programmeren is een vak. Je kunt het een gorot deel jezelf aanleren, maar hoe verder je komt hoe meer je ook weer ontdekt wat je nog niet weet.

Als je een item en user class hebt waarom gebruik je ze dan niet? je getUser functie returned nu een array en geen User. Hetzelfde geldt voor getItem.

foreach is inderdaad een loop, je stopt er een array in en voor elk element in het array wordt de code tussen de accolades uitevoerd. Pas wel een beetje op met een foreach in een andere foreach, dat kan redelijk snel traag worden. Maar ik geloof niet dat we hier met hele grote lijsten van items werken dus dat zal wel meevallen.

Ik ga er even vanuit dat je een tabel Items hebt in je database met een id en bijvoorbeeld een naam en mischien nog andere kolommen. Je hebt dan vast een table auto met ook een id, een kolom met item_id en een kolom met aantal ofzo?

In dat geval kan je de check ook door je database uit laten voeren. Voer een update uit waarbij je het aantal van een specifiek item verhoogd, vraag het aantal rijen dat veranderd is. Als dat 1 is is het gelukt en bestond hij al als het 0 is bestond hij nog niet en moet je hem inserten.
pi_173417575
quote:
0s.gif Op zondag 27 augustus 2017 10:40 schreef Alfje het volgende:
Veel mensen krijgen het niet eens voor elkaar om iets werkends te produceren, dus je bent goed op weg. Maarja programmeren is een vak. Je kunt het een gorot deel jezelf aanleren, maar hoe verder je komt hoe meer je ook weer ontdekt wat je nog niet weet.

Als je een item en user class hebt waarom gebruik je ze dan niet? je getUser functie returned nu een array en geen User. Hetzelfde geldt voor getItem.

foreach is inderdaad een loop, je stopt er een array in en voor elk element in het array wordt de code tussen de accolades uitevoerd. Pas wel een beetje op met een foreach in een andere foreach, dat kan redelijk snel traag worden. Maar ik geloof niet dat we hier met hele grote lijsten van items werken dus dat zal wel meevallen.

Ik ga er even vanuit dat je een tabel Items hebt in je database met een id en bijvoorbeeld een naam en mischien nog andere kolommen. Je hebt dan vast een table auto met ook een id, een kolom met item_id en een kolom met aantal ofzo?

In dat geval kan je de check ook door je database uit laten voeren. Voer een update uit waarbij je het aantal van een specifiek item verhoogd, vraag het aantal rijen dat veranderd is. Als dat 1 is is het gelukt en bestond hij al als het 0 is bestond hij nog niet en moet je hem inserten.
Mijn database ziet er inderdaad zo uit als je beschrijft.

Precies dat laatste zou ik willen doen.
Maar hoe en waar in mn code zou ik dat kunnen implementeren? Ik heb de INSERT INTO al geprobeerd maar zonder resultaat.

Ik snap volgens mij niet helemaal wat je bedoelt met het gebruiken van de user en item class?
pi_173417581
quote:
1s.gif Op zondag 27 augustus 2017 10:37 schreef Blue_note het volgende:

[..]

Maar een functie met een return kun je toch echo’en of?

Als ik dit doe:

[ code verwijderd ]

Krijg ik toch een echo op mn scherm?
Klopt helemaal, maar je echoot niet de functie zelf, maar het resultaat. Wat er intern eigenlijk gebeurd is meer:
1
2
$tmp = bereken();
echo $tmp;
pi_173417629
quote:
0s.gif Op zondag 27 augustus 2017 10:44 schreef Alfje het volgende:

[..]

Klopt helemaal, maar je echoot niet de functie zelf, maar het resultaat. Wat er intern eigenlijk gebeurd is meer:
[ code verwijderd ]

Duidelijk...ja zo ging het in mijn gedachte ook, maar beschreef het niet goed.

Maar als je return in een functie een array is, kun je die dan eigenlijk ook echo’en (de hele array, zoals een var_dump doet)? Nee toch? Hoe los je dat op als je toch een output wilt van de volledige return?

[ Bericht 2% gewijzigd door #ANONIEM op 27-08-2017 10:49:32 ]
pi_173417643
quote:
1s.gif Op zondag 27 augustus 2017 10:43 schreef Blue_note het volgende:

[..]

Mijn database ziet er inderdaad zo uit als je beschrijft.

Precies dat laatste zou ik willen doen.
Maar hoe en waar in mn code zou ik dat kunnen implementeren? Ik heb de INSERT INTO al geprobeerd maar zonder resultaat.

Ik snap volgens mij niet helemaal wat je bedoelt met het gebruiken van de user en item class?
Je zegt dat je een user class hebt, hoe ziet die eruit? Zoiets:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
class User
{
    private 
$id;
    private 
$name;

    public 
setId($id)
    {
        
$this->id $id;
    }

    public function 
getId()
    {
        return 
$this->id;
    }
}
?>

Dan kan je een User object maken door $user = new User(); aan te roepen en deze een id geven door $user->setId(4); te doen.

Dat doe je niet in je getUser functie, die haalt enkel een array op in de vorm
[ 'id' => 4, 'name' => 'jaap' ]
pi_173417702
quote:
1s.gif Op zondag 27 augustus 2017 10:48 schreef Blue_note het volgende:

[..]

Duidelijk...ja zo ging het in mijn gedachte ook, maar beschreef het niet goed.

Maar als je return in een functie een array is, kun je die dan eigenlijk ook echo’en (de hele array, zoals een var_dump doet)? Nee toch? Hoe los je dat op als je toch een output wilt van de volledige return?
var_dump is echt voor debuggen, en nog mooier is het om een echt debugger te gebruiken, maar dat is voor nu niet van belang, var_dump geeft ook wat meer technische informatie in een niet erg mooie opmaak.
echo is voor het afdrukken van informatie (meestal op het scherm) Als je een array van iets wilt afdrukken dan kan je er met foreach overheen loopen en elke entry van je array afdrukken.

Hev je de youtube serie die ik had aangeraden al bekeken, daar geven ze volgens mij wel een fraaie manier om je code en de weergave gescheiden te houden.
pi_173417781
quote:
0s.gif Op zondag 27 augustus 2017 10:53 schreef Alfje het volgende:

[..]

var_dump is echt voor debuggen, en nog mooier is het om een echt debugger te gebruiken, maar dat is voor nu niet van belang, var_dump geeft ook wat meer technische informatie in een niet erg mooie opmaak.
echo is voor het afdrukken van informatie (meestal op het scherm) Als je een array van iets wilt afdrukken dan kan je er met foreach overheen loopen en elke entry van je array afdrukken.

Hev je de youtube serie die ik had aangeraden al bekeken, daar geven ze volgens mij wel een fraaie manier om je code en de weergave gescheiden te houden.
Deels bekeken, vanwege tijdgebrek.
De classes zien er inderdaad ongeveer zo uit.

Maar een concrete vraag:
Hoe zou het stukje code eruit moeten zien om de waardes op de lijst te zetten? En deze vervolgens zichtbaar te krijgen? :@
pi_173466236
quote:
1s.gif Op zondag 27 augustus 2017 10:59 schreef Blue_note het volgende:

[..]

Deels bekeken, vanwege tijdgebrek.
De classes zien er inderdaad ongeveer zo uit.

Maar een concrete vraag:
Hoe zou het stukje code eruit moeten zien om de waardes op de lijst te zetten? En deze vervolgens zichtbaar te krijgen? :@
Inmiddels opgelost.
De functie die de lijst maakte had geen return, die bleef dus doorgaan.
Return ingevoegd, UPDATE en INSERT INTO toegevoegd/aangepast, en de get functie laten uitvoeren. Nu werkt het zoals het hoort!

Nieuw probleem, waarvan al tig tutorials bestaan, maar toch klopt er bij mij iets niet helemaal.

Wil een waardering/rating systeem toevoegen. Nu begreep ik dat een AJAX call hiervoor het meest geschikt is. Maar heb al vanalles geprobeerd, het lukt niet wat ik wil.

Iemand beter suggestie?
pi_173468193
Aan de php kant is een ajax call niet anders dan een gewone call dus dit is meer een javascript dingetje. Jquery is een makkelijke javascript library om mee te starten.
pi_173468240
quote:
0s.gif Op dinsdag 29 augustus 2017 20:21 schreef Alfje het volgende:
Aan de php kant is een ajax call niet anders dan een gewone call dus dit is meer een javascript dingetje. Jquery is een makkelijke javascript library om mee te starten.
Ik ga morgen maar eens wat tutorials lezen/volgen.

Frustratie als zoiets niet lukt :(
Mja zonder uitdaging kom je ook niet verder.
pi_173640518
quote:
1s.gif Op zaterdag 26 augustus 2017 21:53 schreef Blue_note het volgende:

[..]

Codecademy heb ik doorlopen. Maar cc stopt wanneer het spannend wordt.

De principes achter OOP zijn duidelijk.
Hoe je ze toe moet passen dmv code nog niet. Maar dat is een kwestie van doen denk ik?

Ik loop nu vast op een stuk code waar ik een functie met een return heb geschreven. Var_dump geeft de juiste output geeft, maar wanneer ik de functie aanroep en wil echo’en komt er niks. Zeer frustrerend. Stackoverflow heb ik opgegeven. Daar heb ik nog nooit een fatsoenlijk antwoord gekregen.

Symfony wil ik hierna oppakken inderdaad.

Doe maar niet. Ik heb mezelf een paar weken verdiept in Laravel: ga voor dat framework! Is tevens gebaseerd op Symfony.

Mijn advies: probeer zelf een framework te schrijven, dit heb ik ook gedaan. Stap vervolgens over op Laravel. *)

[ Bericht 1% gewijzigd door #ANONIEM op 07-09-2017 16:04:45 ]
pi_173642757
quote:
7s.gif Op donderdag 7 september 2017 16:04 schreef DevFreak het volgende:

[..]

Doe maar niet. Ik heb mezelf een paar weken verdiept in Laravel: ga voor dat framework! Is tevens gebaseerd op Symfony.

Mijn advies: probeer zelf een framework te schrijven, dit heb ik ook gedaan. Stap vervolgens over op Laravel. *)
Ik was al begonnen ;)!

Ik vind het wel prettig werken eigenlijk!
pi_173684043
i.p.v. echo print_r gebruiken
Fylax is op televisie geweest
pi_173688441
quote:
0s.gif Op zaterdag 9 september 2017 21:48 schreef jodelahity het volgende:
i.p.v. echo print_r gebruiken
Print_r toch zeker niet in uiteindelijke code?!
Is meer om te debuggen.
pi_173689552
quote:
1s.gif Op zondag 10 september 2017 08:25 schreef Blue_note het volgende:

[..]

Print_r toch zeker niet in uiteindelijke code?!
Is meer om te debuggen.
Ja klopt.
Fylax is op televisie geweest
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')