Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dlaczego exit nie dziala jak nalezy?, pytanie retoryczne
qbs
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 22.09.2008

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


witam wszystkich z gory na dol.
w dniu dzisiejszym, wraz z kumplem od spizowego kufla udalo nam sie znalezc pewna bardzo przykra rzecz. co prawda 99% osob ma to gdzies, jak i ja dotychczas, lecz w swojej ulomnosci nawet nie zdawalem sobie sprawy ze funkcja oferowana przez php, jaka jest exit() jest niezbyt poprawna. mianowicie, dziala ona w identyczny sposob jak die() i w brew temu co pisze w dokumentacji, mozna je bezczelnie obejsc. oczywiscie nie ma to wplywu na dzialanie poprawnie napisanego kodu, lecz dla osob poczatkujacych moze to byc zwyczajny "kwas" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

nie wiem czemu bylem przekonany, ze funkcja exit, zabija z miejsca watek w ktorym wykonywany jest skrypt (w przeciwienstwie do die ktory pozwala jeszcze destruktorom na dzialanie).

chcialem przez ten post zapytac czy jest cos co moglem pominac w dokumentacji, na tym forum tudziez konfiguracji php?

dla leniwych wrzucam kod (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Kod
<?php

class innaklasa
{

    public function __construct()
    {
    
        print "inna klasa<br />";
    }

    public function zrob()
    {
    
        try
        {
            
            throw new exception("test");
        }
        catch(Exception $e)
        {

            print "<pre>";
            print_r($e);
        }
    }
}

class klasa
{

    public function __construct()
    {
        
        print "konstruktor<br />";
    }
    public function __destruct()
    {

        print "destruktor<br />";
        $innaklasa = new innaklasa;
        $innaklasa->zrob();
    }
}

$c = new klasa;
exit;


Ten post edytował qbs 23.09.2008, 13:32:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qbs
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 22.09.2008

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


dziwne, http://pl2.php.net/manual/pl/function.overload.php mowi co innego, a tymbardziej moja kompilacja php 5.2.5

Kod
konstruktor
Fatal error: Call to undefined function overload() in D:\htdocs\test.php on line 39
destruktor
inna klasa

Exception Object
(
    [message:protected] => test
    [string:private] =>
    [code:protected] => 0
    [file:protected] => D:\htdocs\test.php
    [line:protected] => 13
    [trace:private] => Array
        (
            [0] => Array
                (
                    [file] => D:\htdocs\test.php
                    [line] => 34
                    [function] => zrob
                    [class] => innaklasa
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

            [1] => Array
                (
                    [function] => __destruct
                    [class] => klasa
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

        )

)


Ten post edytował qbs 23.09.2008, 12:46:56
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: 5.10.2025 - 09:34