Re: [PHP] Re: Call to object function, want to PHP interpret returned string
Stuart wrote: 2009/7/6 John Allsopp j...@johnallsopp.co.uk: David Robley wrote: John Allsopp wrote: Hi At the top of a webpage I have: ?php include_once(furniture.php); $myFurniture = new furniture(); echo $myFurniture-getTop(my company title); ? to deliver the first lines of HTML, everything in HEAD and the first bits of page furniture (menu, etc). In the furniture object in getTop(), I want to return a string that includes the CSS file that I call with an include_once. But the include_once isn't interpreted by PHP, it's just outputted. So from: $toReturn = !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ?php include_once('styles3.txt'); ? ...; return $toReturn; I get ?php include_once('styles3.txt'); ? in my code. Do I really have to break up my echo $myFurniture-getTop(my company title); call to getTopTop, then include my CSS, then call getTopBottom, or can I get PHP to interpret that text that came back? PS. I may be stupid, this may be obvious .. I don't program PHP every day Thanks in advance for your help :-) Cheers J First guess is that your page doing the including doesn't have a filename with a .php extension, and your server is set to only parse php in files with a .php extension. Cheers Ah, thanks. It's a PHP object returning a string, I guess the PHP interpreter won't see that. So, maybe my object has to write a file that my calling file then includes after the object function call. Doesn't sound too elegant, but is that how it's gotta be? You appear to be looking for the eval function: http://php.net/eval However, in 99.99% of cases using eval is not the right solution. In your case there are two ways to solve it. The first way, assuming the thing you're trying to include is a stylesheet, is to use an external link to a CSS file. That would be the normal way to include a stylesheet in an HTML page and is far more efficient that including it inline. If it's not just a stylesheet that you're including then you'll want to load the file in the getTop method. For example... $toReturn = !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ; $toReturn.= file_get_contents('styles3.txt'); $toReturn.= '..'; Simple as that. -Stuart Thanks guys. Yes, actually file_get_contents didn't work for me, and yes you're right, of course I should be including my CSS like LINK rel='stylesheet' type='text/css' media='screen' href='style3.css' title='style1' in the header. The style3.txt file I was trying to PHP include was there so I could include more than one stylesheet and make just one amendment. One for printing and I'm guessing one for mobile. All that file contained was the LINK... line above. That was legacy code. Now I have a furniture object, of course, I can put my stylesheet code in one place there just as part of the header, and have no need for style3.txt. Thanks for all your help. J -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Call to object function, want to PHP interpret returned string
David Robley wrote: John Allsopp wrote: Hi At the top of a webpage I have: ?php include_once(furniture.php); $myFurniture = new furniture(); echo $myFurniture-getTop(my company title); ? to deliver the first lines of HTML, everything in HEAD and the first bits of page furniture (menu, etc). In the furniture object in getTop(), I want to return a string that includes the CSS file that I call with an include_once. But the include_once isn't interpreted by PHP, it's just outputted. So from: $toReturn = !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ?php include_once('styles3.txt'); ? ...; return $toReturn; I get ?php include_once('styles3.txt'); ? in my code. Do I really have to break up my echo $myFurniture-getTop(my company title); call to getTopTop, then include my CSS, then call getTopBottom, or can I get PHP to interpret that text that came back? PS. I may be stupid, this may be obvious .. I don't program PHP every day Thanks in advance for your help :-) Cheers J First guess is that your page doing the including doesn't have a filename with a .php extension, and your server is set to only parse php in files with a .php extension. Cheers Ah, thanks. It's a PHP object returning a string, I guess the PHP interpreter won't see that. So, maybe my object has to write a file that my calling file then includes after the object function call. Doesn't sound too elegant, but is that how it's gotta be? Cheers J -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Call to object function, want to PHP interpret returned string
2009/7/6 John Allsopp j...@johnallsopp.co.uk: David Robley wrote: John Allsopp wrote: Hi At the top of a webpage I have: ?php include_once(furniture.php); $myFurniture = new furniture(); echo $myFurniture-getTop(my company title); ? to deliver the first lines of HTML, everything in HEAD and the first bits of page furniture (menu, etc). In the furniture object in getTop(), I want to return a string that includes the CSS file that I call with an include_once. But the include_once isn't interpreted by PHP, it's just outputted. So from: $toReturn = !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ?php include_once('styles3.txt'); ? ...; return $toReturn; I get ?php include_once('styles3.txt'); ? in my code. Do I really have to break up my echo $myFurniture-getTop(my company title); call to getTopTop, then include my CSS, then call getTopBottom, or can I get PHP to interpret that text that came back? PS. I may be stupid, this may be obvious .. I don't program PHP every day Thanks in advance for your help :-) Cheers J First guess is that your page doing the including doesn't have a filename with a .php extension, and your server is set to only parse php in files with a .php extension. Cheers Ah, thanks. It's a PHP object returning a string, I guess the PHP interpreter won't see that. So, maybe my object has to write a file that my calling file then includes after the object function call. Doesn't sound too elegant, but is that how it's gotta be? You appear to be looking for the eval function: http://php.net/eval However, in 99.99% of cases using eval is not the right solution. In your case there are two ways to solve it. The first way, assuming the thing you're trying to include is a stylesheet, is to use an external link to a CSS file. That would be the normal way to include a stylesheet in an HTML page and is far more efficient that including it inline. If it's not just a stylesheet that you're including then you'll want to load the file in the getTop method. For example... $toReturn = !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ; $toReturn.= file_get_contents('styles3.txt'); $toReturn.= '..'; Simple as that. -Stuart -- http://stut.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Call to object function, want to PHP interpret returned string
John Allsopp wrote: David Robley wrote: John Allsopp wrote: Hi At the top of a webpage I have: ?php include_once(furniture.php); $myFurniture = new furniture(); echo $myFurniture-getTop(my company title); ? to deliver the first lines of HTML, everything in HEAD and the first bits of page furniture (menu, etc). In the furniture object in getTop(), I want to return a string that includes the CSS file that I call with an include_once. But the include_once isn't interpreted by PHP, it's just outputted. So from: $toReturn = !DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' ?php include_once('styles3.txt'); ? ...; return $toReturn; I get ?php include_once('styles3.txt'); ? in my code. Do I really have to break up my echo $myFurniture-getTop(my company title); call to getTopTop, then include my CSS, then call getTopBottom, or can I get PHP to interpret that text that came back? PS. I may be stupid, this may be obvious .. I don't program PHP every day Thanks in advance for your help :-) Cheers J First guess is that your page doing the including doesn't have a filename with a .php extension, and your server is set to only parse php in files with a .php extension. Cheers Ah, thanks. It's a PHP object returning a string, I guess the PHP interpreter won't see that. So, maybe my object has to write a file that my calling file then includes after the object function call. Doesn't sound too elegant, but is that how it's gotta be? Cheers J I think I misunderstood your explanation :-) Can you show the actual content of furniture.php? I wonder if there are missing ?php ? tags?? Cheers -- David Robley And it's only ones and zeros. Today is Boomtime, the 41st day of Confusion in the YOLD 3175. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php