Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Metody obiektów i includowanie plików
deejay4net
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 11.06.2007

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


Więc tak, mam takie nurtujące mnie pytanko.. Nie jestem może aż tak bardzo zaawansowany w php ale znam je dosyć dobrze i od jakiegoś czasu korzystam z klas. Teraz przykładowy kod:

  1. <?php
  2.  
  3. require 'class/user.php';
  4.  
  5. $usr = new user;
  6.  
  7. include'inc/jakisplik.php';
  8.  
  9.  
  10. ?>


I teraz zawartość jakisplik.php

  1. <?php
  2. print $usr->nick;
  3. ?>

Oczywiście przyjmujemy że $usr->nick od razu po zainicjowaniu ma przypisaną wartość..
Teraz właśnie nie wiem do końca (Nie znam sie aż tak na obiektach) ale moim zdaniem w pliku dołączonym przez include
  1. <?php
  2. print $usr->nick;
  3. ?>

powinno wyświetlić mi nick (a tak się nie dzieje)..
gdyż wcześniej zainicjowałem ten obiekt.. Natomiast działa to dopiero gdy zainicjuje nowy obiekt w includowanym pliku..
Gdy tworzenie nowego obiektu nie wiąże się z wykonaniem operacji to ok.. Ale gdy np przy tym jest już wykonywana operacja na bazie pojawia się problem..
Czy ktoś mógł by mi to wytłumaczyć w prosty sposób?
Zadowolę się nawet teorią bez przykładów, chociaż przykład mile widziany (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

z góry thx i pozdro
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Noddi
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 7
Dołączył: 25.12.2004
Skąd: Kraków

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


Czyli masz mniej więcej coś takiego:

test.php:
  1. <?php
  2.  
  3. require 'class.php';
  4.  
  5. $user = new User;
  6.  
  7. include 'include.php';
  8.  
  9. ?>


class.php:
  1. <?php
  2.  
  3. class User
  4. {    
  5.    public $nick;
  6.        
  7.    public function __construct()
  8.    {
  9.        $this->nick = "Test";
  10.    }
  11. }
  12.  
  13. ?>


include.php:
  1. <?php
  2.  
  3. print $user->nick;
  4.  
  5. ?>


Po wykonaniu test.php wyświetla się "Test" czyli tak jak powinno, nie ma innej możliwości.

Ten post edytował Noddi 15.11.2008, 15:23:45
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 18.10.2025 - 06:56