Toon posts:

[PHP] OOP/MySQLi

Pagina: 1
Acties:

Onderwerpen


  • Bv202
  • Registratie: oktober 2006
  • Laatst online: 22-10 10:34
Hey,

Aangezien ik MySQLi wil gebruiken en dit via de OOP weg, heb ik even wat gelezen over OOP in PHP. ik heb al wel wat ervaring uit andere talen zoals Java, maar de syntax in PHP vind ik echt verschrikkelijk verwarrend en heb er toch nog een paar vragen over.

Tevens wil ik graag slechts één mogelijke databaseverbinding en daarom lijkt het me logisch hiervoor een Singleton te gebruiken. Ook dit is iets waar ik geen ervaring mee heb (buiten dat ik de theorie ken dan :p), dus ook dit is even verwarrend.

1) Als ik de documentatie over de class bekijk (http://www.php.net/manual/en/class.mysqli.php) wordt er een datatype gebruikt bij de velden, return types en parameters.Waarom is dit? In PHP gebruik je deze toch niet?

2) Ik vind de notatie van methoden en velden verschrikkelijk verwarrend. De ene keer wordt :: gebruikt, de andere keer ->. Blijkbaar wordt :: gebruikt voor static methods, maar in de methodelijst (zie link hierboven) wordt het blijkbaar ook voor gewone methodes gebruikt. En dan wordt er soms geen van beide notaties gebruikt, maar gewoon de naam van de methode, zoals:
int mysqli_get_proto_info ( mysqli $link )

Bij die methodelijst wordt zelfs -> gewoon niet gebruikt. Hoe zit het hier precies mee? Wat een verwarrende syntax :s

3) Dan hebben we die singleton. Ik dacht dat ik een class Database kon maken die overerft van MySQLi en daar een singleton van maken. Dit werkt wel lijkt me, maar het probleem is dat sommige methodes zo'n statement object returnen:
http://www.php.net/manual/en/class.mysqli-stmt.php

Kan ik hier wel een singleton gebruiken? Hoe gaat dit precies werken?

4) Sprekend over die 2 classes, wat is het precieze verschil? Beide klassen hebben blijkbaar een prepare() methode die blijkbaar ook nog eens exact hetzelfde doen.

Alvast bedankt! :)
Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee