Edit report at https://bugs.php.net/bug.php?id=65664&edit=1
ID: 65664
Comment by: valentiny510 at yahoo dot es
Reported by: valentiny510 at yahoo dot es
Summary: __destruct act different when instantiate class
with/out var
Status: Not a bug
Type: Feature/Change Request
Package: Class/Object related
Operating System: Secret :)
PHP Version: 5.4.19
Block user comment: N
Private report: N
New Comment:
$html = new Html;
<-- From here to the end of script there is no more references to that object...
<p>Some html here...</p>
P.S. Thank you for answering so fast :)
Previous Comments:
------------------------------------------------------------------------
[2013-09-12 22:59:04] [email protected]
The destructor is called when where are no more references to an object. In
case of a temporary value (just new Html that isn't assigned) this will happen
right after the expression is evaluated.
------------------------------------------------------------------------
[2013-09-12 22:48:59] valentiny510 at yahoo dot es
Description:
------------
When the class is instantiated with a variable is working like one espect...
but the issue come when you want to miss the variable, because you don't use it
or whatever reason..
Can be possible to act the same way both times ?
Examples below..
Test script:
---------------
<?php
class Html
{
function __construct( ) { echo "Header\n"; }
function __construct( ) { echo "\nFooter"; }
}
# without variable
new Html;
<p>Some html here...</p>
# with $html var...
$html = new Html;
<p>Some html here...</p>
Expected result:
----------------
Header
Some html here...
Footer
Header
Some html here...
Footer
Actual result:
--------------
Header
Footer <-- This is the problem...
Some html here...
Header
Some html here...
Footer
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=65664&edit=1