Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dostęp do klasy poprzez funkcje innej klasy, ??
sztosz
post 28.08.2005, 13:10:58
Post #1





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam sobie klasę:
  1. <?php
  2.  
  3. //klasa jest zawsze uzywana i tylko raz do obróbki $_POST i wszystko zapisuje w ta
    blicy $tablicaA
  4. class A {
  5.  
  6. public $tablicaA;
  7.  
  8. public function funkcjaA(){
  9. //funkcja do wyciągania odpowiedniej zmiennej z $tablicaA;
  10. }
  11.  
  12. }
  13. //zainicjujemy ją
  14.  
  15. $classA = new A();
  16.  
  17. ?>


I jak teraz z drugiej klasy dostać się do tej pierwswzej? Czy to będzie działać, i dlaczego nie i co zrobić z zasięgiem zmiennych?

  1. <?php
  2.  
  3. class B {
  4.  
  5. private $b;
  6.  
  7. public function funkcjaB(){
  8. $this->b = $classA->funkcjaA();
  9. }
  10.  
  11. }
  12. ?>


I czy
  1. <?php
  2. A::funkcjaA()
  3. ?>
jest jakimś rozwiązaniem, a jeżeli tak to jak to działa?

Następne małe pytanko to, czy jeżeli klasa się nazywa 'JakaśKlasa' to czy fukcja 'uruchomiana" automatycznie przy stworzeniu obiektu może się nazywać 'jakaśKlasa' czy musi 'JakaśKlasa' ?

________
PS: OOP jest dla mnie dosyć nowym zagadnieniem i nie za bardzo wiem jak rozwikłać zagwozdki igdzie ich szukać sad.gif a manual lekko mi miesza w głowie w tym temacie sad.gif


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sztosz
post 28.08.2005, 15:46:18
Post #2





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


@dr_bonzo: Wielkie dzięki za rozjaśnienie biggrin.gif, zakapowałem jak to robić i mi się coraz bardziej to OOP podoba.

A czy statyczne metody klasy można wyawoływać nie posiadając żadnego obektu danej klasy?

I czy jeżeli chce mieć dostęp do jakiegoś pola(?), zmiennej danego obiektu(jak w przykładzie $tablicaA) to powinienem napisać odpowiednią metodę danej klasy do tego? Na tym polega hermetyzacja?

Aha i czy __construct() ma być private/public/etc, czy nie? Bo w manualu przykłady są bez tych flag(?). U mnie jest private i zend code analyzer nie zgłasza wontów.

______
PS. Jeżeli to zle forum to przerzućcie to gdzie indziej winksmiley.jpg

Ten post edytował sztosz 28.08.2005, 16:15:43


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:46