Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:9035 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 44168 invoked by uid 1010); 11 Apr 2004 05:47:22 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 44142 invoked by uid 1007); 11 Apr 2004 05:47:22 -0000 Message-ID: <20040411054722.44141.qmail@pb1.pair.com> To: internals@lists.php.net Date: Sun, 11 Apr 2004 01:47:23 -0400 User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207) X-Accept-Language: en-us, en MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Posted-By: 68.163.52.20 Subject: PHP4 -> PHP5 incompatibility - classes must be declared before being used From: contact_marcos@yahoo.es (Marc Richards) Hi All, I have a couple question re: {subject}. Can anybody point me to some info on why this change was neccessary (not complaining, just curious). I did some searching and it seems to relate to objects that use interfaces...but that is all I could find. If it is too complex to explain that is fine; I just want to know whether I should keep looking or not. Are there any edge cases where it would not be impossible to satisfy this requirement...say some complex interdependence between two or more classes. Sorry I know this is very hand-wavvy but I don't have enough OOP experience to come up with a good example. I read that for simple cases, instantiation before declaration will work...does/will this cause an E_STRICT error? The primary reason for my curiosity is that I recently started putting PHP functions that only get used on one page at the end of the page (and therefore calling the function before it is defined). While this greatly enhanced readibility, I was a little wary of this method, especially since I haven't really seen anybody else doing it. Is there an inherent problem with this method for functions? I guess the alternative would be to put it an included file (even though it is only included on one page). Is that what most people do? Along those lines, is there any performance penalty for using __autoload() to load my php classes if I am using a code cache like APC? Does __autoload() work for functions? Marc