![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chce napisac swoj pierwszy silnik strony. Wiem mniej, wiecej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) na czym to polega (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . Napisalem juz wiekszosc klass ktore beda wchodzic w jego sklad tzn. mam klasy glowne, chyba rdzeniem sie to nazwywa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , i klasy ktore korzystaja z wlasciwosci/metod klas glownych. Korzystam takze ze smartow, tzn. mam przygotowane pliki w szablonach i wiem jak ich uzywac. I moim problemem jest brak pomyslu/inteligencji aby to polaczyc w skladna calosc. Dodatkowo czytajac wasze posty mozna sie domyslic, ze zalecacie korzystanie z referencji. I tutaj (skonczywszy dluugi wstep) pojawiaja mi sie pytania: 1. Czy klasa 1 ktora jest "korzeniem" wszsytkich klas ma odpowiadac za inicjowanie innych klas? np. [php:1:c9afb0cb4f]<?php class core { function news() { $news = new klasaobslugujacanewsy; $news -> jakasfunkcjaztejklasy(); } } ?>[/php:1:c9afb0cb4f] itd. chyba rozumiecie o co mi chodzi? Mam problemy z przekazywaniem swoich mysli (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 2. Czy zawsze nalezy pracowac na kopiach obiektow? Jezeli tak to dlaczego? 3. Czy nalezy inkludowac biblioteki klass uzalezniajac je od np. strony na jakiej znajduje sie user? np. [php:1:c9afb0cb4f]<?php if ($_GET[strona] == newsy) { include ('newsy.class.lib'); } class core { if ($_GET[strona] == newsy) { function news() { $news = new klasaobslugujacanewsy; $news -> jakasfunkcjaztejklasy(); } } } ?>[/php:1:c9afb0cb4f] Jak bede mial jeszcze jakies pytania to bede pytal (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzieki za odp. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
php 4
Referencji używaj przekazując obiekty, ponieważ PHP4 domyślnie kopiuje obiekty. Nie używaj referencji do przekazywania wszystkiego innego (zmiennych, tablic, itd.), ponieważ PHP4 potrafi zliczać odwołania do zmiennych i fizyczną kopię wykona nie wtedy, kiedy wykonasz przypisanie, ale dopiero wtedy, kiedy zmienisz wartość. Czyli, jeżeli przekazujesz do funkcji w parametrze wielką tablicę, a w samej funkcji nie zmieniasz nic w tej tablicy, PHP4 nie wykona kopii tablicy. Wyjątkiem są sytuacje, kiedy zależy ci na działaniu odwrotnym, tj. chcesz mieć kopię obiektu, albo chcesz, żeby funkcja mogła zmienić wartość zmiennej przekazanej w parametrze. Tako rzecze Zend. PHP5 PHP5 zawsze przekazuje obiekty przez referencję (wreszcie!). Do robienia kopii służy funkcja __clone() i tylko ona. Więc cała część o referencjach do obiektów jest nieaktualna. Reszta (referencje do zmiennych) pozostaje bez zmian. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 17:49 |