[PHP] break out of ?php... midway thru' an if { } statement ?

2010-10-11 Thread Govinda

Hi everyone,

- newbie preface  
-
I finally got some time to come back to learning a little more PHP...  
and I am looking forward to lots more in coming months, with any  
luck.  Anyway, as I was working towards the last deadline with the PHP  
project I was working on, I uncovered several issues I did not know  
the answer to.. and I just hacked around them  to avoid taking more  
time while I was under the clock/meter.  Now on my own time, I want to  
ask, so I learn more deeply what was more ideal understanding/technique.
- /newbie preface  
-


Here's one of those Q's:

I was working on a system (MoveableType, A.K.A. MT) that writes db  
data to static text files (web pages) whenever the CMS admin tells it  
to publish.  That system writes out the PHP code that I tell it to,  
in each page of the site.  There was one place in my PHP code (marked  
with ***MT***, below) where I needed to include a chunk of data that  
would not be known (or written out) until the admin next published the  
page (i.e. I could not include the code inline).   I needed to display  
it only in case of a PHP comparison evaluating to true.  I was tempted  
to break out of PHP at that point, and then go back into PHP within  
that ***MT*** block itself, _only_ when/where in the few places that  
block needs PHP.. in order to reduce the head pressure (of the less- 
technical admin using the MT CMS) having to wade through so many PHP  
print/echo statements  (I could not get heredoc to work right, but  
that is another topic/post ;-).  But despite the temptation, I did not  
attempt that because I thought it might break the logic of the if  
{ } .  On the other hand, I vaguely remember reading something that  
made me think something like that is possible.. but I don't know where  
I saw it.


To better summarize my Q:

could the below mt:Var name=PageMoreNoCRLF (which contains a  
long block of HTML sprinkled with a little PHP whose contents are   
known only at runtime) be *broken out of* of the ?php ... ? wrapper  
that surrounds the if { } statement, and have it still only get  
displayed on the final webpage when the if { } statement evaluates to  
true?  The reason I want that is so that I can just keep the HTML  
straight and simple in that MT block, instead of using PHP string- 
printing statements to spit out it's mostly-pure-HTML contents.  The  
admin using the system is using a WYSIWYG HTML editable textarea  
interface, kind of like FCKEditor.


if($AlertUser2success != 0) {
echo 'div class=pg_DIVmainText'.\n;
			echo 'img class=divBGgradient style= src=images/ 
BehindBox01.png alt= /'.\n;

echo 'div'.\n;
	/*---  here is the ***MT*** block/include --- ---*/ mt:Var  
name=PageMoreNoCRLF

echo '/div'.\n;
echo '/div'.\n;
} else {
...


Govinda
govinda(DOT)webdnatalk(AT)gmail(DOT)com






--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] break out of ?php... midway thru' an if { } statement ?

2010-10-11 Thread Micky Hulse
If I understand the question correctly, I think the answer is yes.

Maybe something like this:



?php if ($AlertUser2success): ?

Normal HTML, or MT tags, here.

?php elseif ($foo == $bar): ?

Normal HTML, or MT tags, here.

?php else: ?

Normal HTML, or MT tags, here.

?php endif; ?



Alternative syntax for control structures
http://php.net/manual/en/control-structures.alternative-syntax.php

PHP Shorthand and Alternate Syntax: A quickie!
http://designerfoo.com/php-shorthand-php-alternative-alternate-syntax-a-quickie.html

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] break out of ?php... midway thru' an if { } statement ?

2010-10-11 Thread Joshua Kehn
If I'm understanding the question right, yes you can.

if($AlertUser2success != 0)
{
   ?
   div class=pg_DIVmainText
   img class=divBGgradient style= src=images/BehindBox01.png alt= 
/
   div
   ?php include(); ?
   /div
   /div
   ?php
}

Regards,

-Josh

Joshua Kehn | josh.k...@gmail.com
http://joshuakehn.com

On Oct 11, 2010, at 7:05 PM, Govinda wrote:

 Hi everyone,
 
 - newbie preface 
 -
 I finally got some time to come back to learning a little more PHP... and I 
 am looking forward to lots more in coming months, with any luck.  Anyway, as 
 I was working towards the last deadline with the PHP project I was working 
 on, I uncovered several issues I did not know the answer to.. and I just 
 hacked around them  to avoid taking more time while I was under the 
 clock/meter.  Now on my own time, I want to ask, so I learn more deeply what 
 was more ideal understanding/technique.
 - /newbie preface 
 -
 
 Here's one of those Q's:
 
 I was working on a system (MoveableType, A.K.A. MT) that writes db data 
 to static text files (web pages) whenever the CMS admin tells it to 
 publish.  That system writes out the PHP code that I tell it to, in each 
 page of the site.  There was one place in my PHP code (marked with ***MT***, 
 below) where I needed to include a chunk of data that would not be known (or 
 written out) until the admin next published the page (i.e. I could not 
 include the code inline).   I needed to display it only in case of a PHP 
 comparison evaluating to true.  I was tempted to break out of PHP at that 
 point, and then go back into PHP within that ***MT*** block itself, _only_ 
 when/where in the few places that block needs PHP.. in order to reduce the 
 head pressure (of the less-technical admin using the MT CMS) having to wade 
 through so many PHP print/echo statements  (I could not get heredoc to work 
 right, but that is another topic/post ;-).  But despite the temptation, I did 
 not attempt that because I thought it might break the logic of the if { } .  
 On the other hand, I vaguely remember reading something that made me think 
 something like that is possible.. but I don't know where I saw it.
 
 To better summarize my Q:
 
 could the below mt:Var name=PageMoreNoCRLF (which contains a long block 
 of HTML sprinkled with a little PHP whose contents are  known only at 
 runtime) be *broken out of* of the ?php ... ? wrapper that surrounds the if 
 { } statement, and have it still only get displayed on the final webpage when 
 the if { } statement evaluates to true?  The reason I want that is so that I 
 can just keep the HTML straight and simple in that MT block, instead of using 
 PHP string-printing statements to spit out it's mostly-pure-HTML contents.  
 The admin using the system is using a WYSIWYG HTML editable textarea 
 interface, kind of like FCKEditor.
 
 if($AlertUser2success != 0) {
   echo 'div class=pg_DIVmainText'.\n;
   echo 'img class=divBGgradient style= 
 src=images/BehindBox01.png alt= /'.\n;
   echo 'div'.\n;
   /*---  here is the ***MT*** 
 block/include --- ---*/ mt:Var name=PageMoreNoCRLF
   echo '/div'.\n;
   echo '/div'.\n;
 } else {
 ...
 
 
 Govinda
 govinda(DOT)webdnatalk(AT)gmail(DOT)com
 
 
 
 
 
 
 -- 
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 



Re: [PHP] break out of ?php... midway thru' an if { } statement ?

2010-10-11 Thread Govinda

If I understand the question correctly, I think the answer is yes.


great!!  Next time I will save myself so much time!
Thank you guys!
-G


Alternative syntax for control structures
http://php.net/manual/en/control-structures.alternative-syntax.php



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php