Bug #11047 Updated: Cannot put require() or include() within a class definition

From: Date: Wed, 23 May 2001 13:44:02 +0000
Subject: Bug #11047 Updated: Cannot put require() or include() within a class definition
Groups: php.dev 
Request: Send a blank email to php-dev+get-56485@lists.php.net to get a copy of this message
ID: 11047 Updated by: cynic Reported By: miguel222@mindless.com Old-Status: Open Status: Closed Bug Type: Feature/Change Request Operating system: PHP Version: 4.0.4pl1 Assigned To: Comments: Well, the truth is that there's no real preprocessor in PHP. The fact that it's impossible to use include*() or require*() in class definitions is by design, and is very unlikely (read "guaranteed not to") to change during the life of 4.x. Previous Comments: --------------------------------------------------------------------------- [2001-05-23 15:13:37] miguel222@mindless.com This seems like an easy enough addition, and it makes building large libraries of homologous classes MUCH easier. Of course, there is a work-around: I can inherit numerous intermediate classes to simulate multiple inheritance, but that could theoretically become a VERY large overhead, if you have many "base" classes to inherit. Doing so also makes it difficult to read the resulting code. --------------------------------------------------------------------------- [2001-05-23 14:39:40] cynic@php.net That's how it is, and how it'll be in foreseeable future. --------------------------------------------------------------------------- [2001-05-23 09:44:01] cynic@php.net Well, the truth is that there's no real preprocessor in PHP. The fact that it's impossible to use include*() or require*() in class definitions is by design, and is very unlikely (read "guaranteed not to") to change during the life of 4.x. --------------------------------------------------------------------------- [2001-05-23 05:36:18] miguel222@mindless.com class foo { function foo() { } require "foo_functions.php"; } ~~~~ The above code returns the following parse error: Parse error: parse error, expecting T_OLD_FUNCTION' or T_FUNCTION' or T_VAR' or '}'' in foo.class.php on line 5 --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=11047&edit=2

« previous php.dev (#56485) next »