Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> __autoload zaimplementowana wewnątrz klasy, nie działa, gdy została już zaimplementowana wcześniej...
Luneth
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 16.07.2007
Skąd: Gorzów Wielkopolski

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


Witam, załóżmy, że mamy taki przykładowy kod:
  1. <?php
  2. function __autoload($name)
  3. {
  4. echo 'a';
  5. }
  6.  
  7. class Sample
  8. {
  9. function __autoload($name)
  10. {
  11. echo 'b';
  12. }
  13. function sample()
  14. {
  15. $instance = new SampleName();
  16. }
  17. }
  18.  
  19. $instance = new Sample();
  20. $instance->sample();
  21. ?>


Wówczas i tak do załadowania zostanie wykorzystana funkcja wyświetlająca 'A', poza klasą. Czy można przeciążyć funkcję __autoload() tak, aby w powyższym przypadku wyświetliło się 'B' ?

Ten post edytował Luneth 23.07.2010, 02:23:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie musisz. Wystarczy
  1. function __autoload($classname)
  2. {
  3. $classpath = str_replace('_', '/', $classname').'.php';
  4. require_one $classpath;
  5. }


Ten post edytował wookieb 23.07.2010, 14:52:46
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 Aktualny czas: 28.12.2025 - 05:33