-> στην PHP

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 15:02

Τι κάνει το -> στην PHP?

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 15:12

Χρησιμοποιείται στις κλάσεις π.χ

Κώδικας: Επιλογή όλων

<?php
class Colors &#123;
  var $color;

  function setColor&#40;$color&#41; &#123; 
    $this->color = $color;
  &#125;

  function getColor&#40;&#41; &#123;
    return $this->color;
  &#125;
&#125;

$colors = new Colors;
$colors->setColor&#40;"Black"&#41;;
$color = $colors->getColor&#40;&#41;;

echo $color;

?>
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 15:34

Χρησιμοποιείται για να δηλώσει το class στο οποίο ανήκει το συγκεκριμένο function ή μεταβλητή? Αντίστοιχο της τελείας στην VB κλπ δηλαδή?

Ή $colors γιατί δε δηλώνεται κάπου με var?

Ευχαριστώ.

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 15:49

Εγώ δεν σου είπα ότι δηλώνει κλάσεις η εκχωρεί τιμές...
Δες εδώ: http://www.php.net/manual/el/ref.classobj.php
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 15:54

Ακριβώς επειδή δε μου είπες κάτι συγκεκριμένο, προσπάθησα να ερμηνεύσω το παραάδειγμα που μου έδωσες. Την πρώτη έκανα λάθος σε αυτό με την εκχώρηση προφανώς...

Όμως δεν προσδιορίζει το αντικείμενο-κλάση colors?

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 16:09

Σε αυτό το παράδειγμα προσδιορίζει την μεταβλητή $colors, η οποία μπορεί να καλείται από οποιαδήποτε function που βρίσκεται μέσα στην κλάση, δηλαδή έχει εμβέλεια σε όλη την κλάση, και όταν δημιουργείται το αντικείμενο ($colors = new Colors) χρησιμοποιείται για να προσδιορίσει την function της κλάσης.
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 16:39

ΟΚ Νομίζω ότι τα κατάλαβα λίγο πολύ.

Αυτό που δεν καταλαβαίνω είναι πώς γίνεται εκτός της κλάσης, να μη δηλώνονται οι μεταβλητές $colors και $color αλλά να χρησιμοποιούνται.

Κώδικας: Επιλογή όλων

$colors = new Colors;
$colors->setColor&#40;"Black"&#41;;
$color = $colors->getColor&#40;&#41;; 

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 16:51

Πρέπει να μάθεις τι είναι κλάση και που χρησιμοποιείται για να λυθεί η απορία σου... διάβασε κάποιο php book ;)
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 17:12

Η κλάση της PHP δηλαδή δεν είναι ότι είναι και σε οποαδήποτε άλλη αντικειμενοστραφή γλώσσα προγραμματισμού?

Εγώ αυτό που βλέπω είναι ότι ανεξάρτητα από την κλάση χρησιμοποιούνται κάποιες μεταβλητές που δεν έχουν δηλωθεί. Και απλά ρωτάω αν είναι επιτρεπτό αυτό στην PHP.... :-?

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 18:00

Εγώ αυτό που βλέπω είναι ότι ανεξάρτητα από την κλάση χρησιμοποιούνται κάποιες μεταβλητές που δεν έχουν δηλωθεί.
Η μεταβλητή $color είναι δηλωμένη εδώ:

Κώδικας: Επιλογή όλων

var $color;
Τη μεταβλητή $colors τη χρησιμοποιώ για να δημιουργήσω ένα στιγμιότυπο της κλάσης Colors, και αφού τη δηλώσω($colors = new Colors) τη χρησιμοποιώ για να καλέσω τη συνάρτηση setColor(); η οποία εκχωρεί τιμή στη μεταβλητή $color της κλάσης και μετά ξαναχρησιμοποιώ τη μεταβλητή $colors η οποία περιέχει το στιγμιότυπο της κλάσης για να πάρω την τιμή που έθεσα πριν με τη συνάρτηση getColor();

Τι ακριβώς δεν καταλαβαίνεις? :roll:
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 18:07

Εννοούσα την άλλη color, την εκτός κλάσης.

Απότι βλέπω, εκτός κλάσεων οι μεταβλητές δηλώνονται αυτόματα μόνο με την εκχώρηση τιμής?

Και το var εκτός κλάσης δεν γίνεται δεκτό?

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 18:16

Εκτός κλάσης απλά δεν χρησιμοποιείς το var, ενώ μέσα στην κλάση αν δηλώνεις τη μεταβλητή έξω από μία function θέλει var διαφορετικά όχι
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 18:25

Ωραία! Τέλος, μήπως οι μεταβλητές μέσα στην κλάση που δηλώνονται με var λέγονται properties?

Επίσης, αν δεν υπάρχει constructor σε μια κλάση υπάρχει κανένα πρόβλημα?

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

-> στην PHP

Δημοσίευση από MaZz » 15 Ιούλ 2007 21:05

JohnL έγραψε:Ωραία! Τέλος, μήπως οι μεταβλητές μέσα στην κλάση που δηλώνονται με var λέγονται properties?
Ναι οι μεταβλητές της κλάσης λέγονται ιδιότητες και οι functions μέθοδοι.
JohnL έγραψε:Επίσης, αν δεν υπάρχει constructor σε μια κλάση υπάρχει κανένα πρόβλημα?
Όχι, αν θες ορίζεις constructor ;)
If nothing in the world can change our children will inherit nothing.

JohnL
Δημοσιεύσεις: 95
Εγγραφή: 15 Μάιος 2005 14:04

-> στην PHP

Δημοσίευση από JohnL » 15 Ιούλ 2007 22:20

OK , Κάτι ακόμα... :D Δεν υπάρχει διαχωρισμός μεταξυ functions k subs στην php ε?

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης