Welcome to Tech Support Forum home to more then 136,000 problems solved. Issues have included: Spyware, Malware, Virus Issues, Windows, Microsoft, Linux, Networking, Security, Hardware, and Gaming Getting your problem solved is as easy as:
1. Registering for a free account
2. Asking your question
3. Receiving an answer

Registered members:
* Get free support
* Communicate privately with other members (PM).
* Removal of this message
* See fewer ads.
* And much more..

 





Want to know how to post a question? click here Having problems with spyware and pop-ups? First Steps
Go Back   Tech Support Forum > Design Forum > Web Design & Programming
User Name
Password
Site Map Register Donate Rules Blogs Mark Forums Read

Web Design & Programming Discussion of web design, and server-side & client-side scripting

Reply
 
Thread Tools
Old 07-15-2008, 02:28 AM   #1 (permalink)
Registered User
 
Join Date: Jul 2008
Posts: 6
OS: Windows XP SP2 / Ubuntu Linux 7.2


PHP: When is __destruct() called?

Hi,
I'm I've been programming in PHP4 for a few years now and am slowly moving over to PHP5, I was wondering when developing a class when the __destruct() function is called? I have put all my closing connections in it, and tried to print to screen for confirmation but it doesn't print anything.

Any thoughts?

Thanks in advance
Jenski is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 07-15-2008, 08:12 AM   #2 (permalink)
TSF Enthusiast
 
jamiemac2005's Avatar
 
Join Date: Jul 2007
Location: Northampton, UK
Posts: 914
OS: Win Vista Home Premium & Ubuntu Hardy(8.04)


Re: PHP: When is __destruct() called?

hmm, could you post some code? sorry i haven't used PHP in a while, but as a general programming concept you only destroy an instance of a class when you're done with it (e.g. once everything's been output)... but i don't know the situation so if you were to post code it would help.

Cheers,
Jamey
__________________
=]
jamiemac2005 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 07-16-2008, 02:12 AM   #3 (permalink)
Registered User
 
Join Date: Jul 2008
Posts: 6
OS: Windows XP SP2 / Ubuntu Linux 7.2


Re: PHP: When is __destruct() called?

PHP Code:
<?php 
class AD{

    private 
$host             "ldap://xx";
    private 
$port             "";                                //PHP: $port
    
private $default_user    "xx";
       
//PHP: $bind_rdn
    
private $default_password "xx";                             //PHP: $bind_password
    
private $base_dn        "DC=xx,DC=xx,DC=xx";

    private 
$ous            = array('xx','xx','Techs','xx','Groups'); //OUs (who's parent is root in AD )in use for the Intranet 
    
    //The Intranet should only mess with these attributes of each object, none others
    
private $attributes        = array('member');
    
    private 
$connection;    //PHP: $link_identifier
    
private $bind_conn;
    private 
$debug;            //Array of Debugging messages
    

    /*
        Constructor- creates a new instance of the AD class
        Opens Connection to LDAP
        Binds a default user used for Searching etc
    */
    
public function __construct() {
        
$this->debug[]    = "Constructor Called";
        
$this->open_connection();
        
$this->bind_default_user();
    }
    
    
/*
        Destructor
        Makes sure connection is closed if called
    */
    
public function __destruct(){
        
$this->debug[]    = "Destructor Called";
        
$this->close_connection();
    }
    
    
/*
        Open LDAP Connection 
    */
    
private function open_connection(){
        if(empty(
$this->port)){
            
$this->connection ldap_connect($this->host) or die("Could not connect to LDAP Host");
            
$this->debug[]    = "LDAP Connect successful";
        }else{
            
$this->connection ldap_connect($this->host$this->port) or die("Could not connect to LDAP Host");
            
$this->debug[]    = "LDAP Connect successful";
        }
    }
    
    
/* 
        Creates Default Active Directory Bind
    */
    
private function bind_default_user(){
         
$this->bind_conn ldap_bind($this->connection$this->default_user$this->default_password);
         if (
$this->bind_conn) {
            
$this->debug[]    = "LDAP Default User bind successful";    
        } else {
            
$this->debug[] = "ERROR: LDAP Default User bind unsuccessful";
        }
    }
    
    
/* 
        Closes Active Directory Connection
    */
    
private function close_connection(){
        
ldap_close($this->connection);
        
$this->debug[]    = "LDAP Close connection called";    
    }
    
/*
        Debugging Function
        Displays Errors/Messages throughout runtime of executing code
    */
    
public function debugging(){
        for(
$i=0;$i<sizeof($this->debug);$i++){
            echo 
$this->debug[$i] . '<br/>';
        }
    }
}
?>
Jenski is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Old 07-16-2008, 02:15 AM   #4 (permalink)
Registered User
 
Join Date: Jul 2008
Posts: 6
OS: Windows XP SP2 / Ubuntu Linux 7.2


Re: PHP: When is __destruct() called?

Sounds as though it should be done automatically, but for some reason it doesn't?

http://uk.php.net/manual/en/language.oop5.decon.php
Jenski is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Bookmark on Thread SoupReddit!
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



All times are GMT -7. The time now is 08:02 PM.



Copyright 2001 - 2008, Tech Support Forum

Search Engine Friendly URLs by vBSEO

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82