Lieber Alex,
wie fastix schon angemerkt hat, mag bei manchen heutigen Sprachen diese Unterscheidung konzeptionell schwierig sein, da die Sprachen intern anders arbeiten.
<?php
$handle = fopen('somefile.txt', 'r');
fclose($handle);
?>
Die Variable $handle erhält eine Referenz auf eine Ressource. Das erkennst Du an der Ausgabe von `print_r($handle)`{:.language-php}.
Von daher ist es schwierig hier das Konzept von Handle und Pointer anzuwenden. Handle leuchtet mir ein, Pointer weniger. Aber PHP wird intern für die Referenz zu der Ressource einen Pointer benutzen - und da hast Du nun Deinen nomenklatorischen Salat.
> ~~~php
<?php
> $file_pointer = fopen('textfile.dat', 'r');
> fclose($file_pointer);
> echo '$file_pointer is resource = ' . (is_resource($file_pointer) ? 'true': 'false');
> ?>
Auch hier wird im Grunde eine Ressource an $file_pointer vergeben (s.o.). Dass die Ressource nicht nur einen "Kanal" zu einer Datei bietet, sondern auch noch eine Leseposition in der Datei speichert, macht sie zu mehr als einem Handle im Sinne von "Kanal", aber eben auch mehr als zu einem Pointer im Sinne von "Zeiger auf RAM-Adresse". Auch wenn die Sache mit der "Leseposition" etwas mit Pointer zu tun haben mag, so fehlt beim herkömmlichen Pointer die Sache mit dem Kanal... oder irre ich mich da (bin kein C-Programmierer)?
Ist es nun egal.
Nein, kommt in PHP aber auf dasselbe raus.
Ist ein Handle und Zeiger gar das Gleiche?
Wozu sollte es dann beide Begriffe geben?
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)