Ik ben bezig de beveiliging van mijn site te schrijven. In de voorbeelden maken ze gebruik van classes dus ben ik me daar maar eens in gaan verdiepen. Nu heb ik een aantal basis vragen over classes. Ik hoop dat jullie bereid zijn deze vragen te beantwoorden.
Kan iemand nagaan of dit klopt, dan heb ik dit tenminste al wat begrepen:
Een class is een verzameling van variabelen en functies. Variabelen worden attributes genoemd, en de functies methods.
In het voorbeeld hieronder is var $host een voorbeeld van een attribuut. En connect() is een methode.
Wat is in dit verhaal een instance?
$db = new mysql_actions;
Hoe noem je $db hier? Ik denk niet dat je hier over een variable kan spreken.
$db->host = "localhost";
Hoe zou je bovenstaande handeling in het Nederlands verwoorden? Gok: Stop in het attribuut host de string localhost? Hopelijk komt dit een beetje in de buurt.
Tot slot heb ik nog moeite om te begrijpen wat voor rol $this speelt.
1. Als je het over $this hebt, kun je dan van een variable spreken?
2. Waarom wordt hier gebruik gemaakt van $this? Naar mijn idee wordt this gebruikt om de variables uit de classe uit te lezen. Was het niet een stuk handiger geweest als je gewoon had kunnen schrijven: $ip=$host?
Mijn excuses dat deze vragen nogal beginners vragen zijn, maar met de tutorials/boeken die ik heb kom ik er niet helemaal uit. Het basis gebruik van de classes is op zich nog niet zo lastig, maar ik wil gewoon graag goed begrijpen wat ik doe.
Kan iemand nagaan of dit klopt, dan heb ik dit tenminste al wat begrepen:
Een class is een verzameling van variabelen en functies. Variabelen worden attributes genoemd, en de functies methods.
In het voorbeeld hieronder is var $host een voorbeeld van een attribuut. En connect() is een methode.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?php class mysql_actions { var $username; var $password; var $host; var $db; function connect(){ //de connect functie. } } ?> |
Wat is in dit verhaal een instance?
$db = new mysql_actions;
Hoe noem je $db hier? Ik denk niet dat je hier over een variable kan spreken.
$db->host = "localhost";
Hoe zou je bovenstaande handeling in het Nederlands verwoorden? Gok: Stop in het attribuut host de string localhost? Hopelijk komt dit een beetje in de buurt.
Tot slot heb ik nog moeite om te begrijpen wat voor rol $this speelt.
1. Als je het over $this hebt, kun je dan van een variable spreken?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| var $host; var $db; var $username; var $password; function connect(){ $ip = $this->host; $db = $this->db; $user = $this->username; $pass = $this->password; //enz… } |
2. Waarom wordt hier gebruik gemaakt van $this? Naar mijn idee wordt this gebruikt om de variables uit de classe uit te lezen. Was het niet een stuk handiger geweest als je gewoon had kunnen schrijven: $ip=$host?
Mijn excuses dat deze vragen nogal beginners vragen zijn, maar met de tutorials/boeken die ik heb kom ik er niet helemaal uit. Het basis gebruik van de classes is op zich nog niet zo lastig, maar ik wil gewoon graag goed begrijpen wat ik doe.