Prev: PHP Email Question
Next: not able to connect to MySQL
From: Peter Lind on 20 Sep 2010 15:59 On 20 September 2010 21:56, Andy McKenzie <amckenzie4(a)gmail.com> wrote: > On Mon, Sep 20, 2010 at 3:50 PM, Rick Pasotto <rick(a)niof.net> wrote: >> On Mon, Sep 20, 2010 at 03:02:35PM -0400, TR Shaw wrote: >>> >>> On Sep 20, 2010, at 2:56 PM, Andy McKenzie wrote: >>> >>> > Hey folks, >>> > >>> > Â I have the feeling this is a stupid question, but I can't even find >>> > anything about it. Â Maybe I'm just not searching for the right things. >>> > >>> > Â Here's the problem. Â I'm writing a lot of pages, and I hate going in >>> > and out of PHP. Â At the same time, I want my HTML to be legible. Â When >>> > you look at it, that's kind of a problem, though... for instance >>> > (assume this had some PHP in the middle, and there was actually a >>> > reason not to just put this in HTML in the first place): >>> > >>> > Simple PHP: >>> > <?php >>> > >>> > echo '<html>'; >>> > echo '<head>'; >>> > echo ' Â <title>Page Title</title>'; >>> > echo '</head>'; >>> > echo '<body>'; >>> > echo '<p>This is the page body</p>'; >>> > echo '</body>'; >>> > echo '</html>'; >>> > >>> > ?> >>> > >>> > >>> > Output page source: >>> > <html><head> Â <title>Page Title</title></head><body><p>This is the >>> > page body</p></body></html> >>> > >>> > >>> > Now, I can go through and add a newline to the end of each line (echo >>> > '<html>' . "\n"; and so on), but it adds a lot of typing. Â Is there a >>> > way to make this happen automatically? Â I thought about just building >>> > a simple function, but I run into problem with quotes -- either I >>> > can't use single quotes, or I can't use double quotes. Â Historically, >>> > I've dealt with the issue by just having ugly output code, but I'd >>> > like to stop doing that. Â How do other people deal with this? >>> > >>> > Thanks, >>> > Â Alex >>> >>> Alex >>> >>> Just add a \n at the end as >>> >>> echo '<html>\n'; >> >> That will not work. Single quotes means that the '\n' is not interpreted >> as a new line so you'll see a bunch of '\n' in the output. >> >> What I sometimes do is: >> >> $out = array(); >> $out[] = '<html>'; >> $out[] = '<head>'; >> $out[] = ' Â <title>Page Title</title>'; >> $out[] = '</head>'; >> $out[] = '<body>'; >> $out[] = '<p>This is the page body</p>'; >> $out[] = '</body>'; >> $out[] = '</html>'; >> echo join("\n",$out); >> > > Interesting. Â I hadn't thought of that, but it could work. Â It'd still > be quite a bit of extra typing, but at least I find it more > readable... > Ash already mentioned it: heredoc format. Much easier, less typing, easier to read, keeps formatting, etc, etc etc. Regards Peter -- <hype> WWW: http://plphp.dk / http://plind.dk LinkedIn: http://www.linkedin.com/in/plind BeWelcome/Couchsurfing: Fake51 Twitter: http://twitter.com/kafe15 </hype>
From: Carlos Medina on 20 Sep 2010 16:04 Am 20.09.2010 20:56, schrieb Andy McKenzie: > Hey folks, > > I have the feeling this is a stupid question, but I can't even find > anything about it. Maybe I'm just not searching for the right things. > > Here's the problem. I'm writing a lot of pages, and I hate going in > and out of PHP. At the same time, I want my HTML to be legible. When > you look at it, that's kind of a problem, though... for instance > (assume this had some PHP in the middle, and there was actually a > reason not to just put this in HTML in the first place): > > Simple PHP: > <?php > > echo '<html>'; > echo '<head>'; > echo '<title>Page Title</title>'; > echo '</head>'; > echo '<body>'; > echo '<p>This is the page body</p>'; > echo '</body>'; > echo '</html>'; > > ?> > > > Output page source: > <html><head> <title>Page Title</title></head><body><p>This is the > page body</p></body></html> > > > Now, I can go through and add a newline to the end of each line (echo > '<html>' . "\n"; and so on), but it adds a lot of typing. Is there a > way to make this happen automatically? I thought about just building > a simple function, but I run into problem with quotes -- either I > can't use single quotes, or I can't use double quotes. Historically, > I've dealt with the issue by just having ugly output code, but I'd > like to stop doing that. How do other people deal with this? > > Thanks, > Alex Hi Alex, yes you can build a lot of classes to build the html you want and produce elegant and clean code. But, the job to do that is enorm, and sincerly i dont know what is better. You can use some templating system like Zend Framwork and if not possible consider to use str_replace() to "parse" your Template and replace the variables in there. You can use a token like ###VAR_NAME### to address a variable like $var_name or something like this. Regards Carlos
From: Andy McKenzie on 20 Sep 2010 16:17 On Mon, Sep 20, 2010 at 3:59 PM, Peter Lind <peter.e.lind(a)gmail.com> wrote: > On 20 September 2010 21:56, Andy McKenzie <amckenzie4(a)gmail.com> wrote: >> On Mon, Sep 20, 2010 at 3:50 PM, Rick Pasotto <rick(a)niof.net> wrote: >>> On Mon, Sep 20, 2010 at 03:02:35PM -0400, TR Shaw wrote: >>>> >>>> On Sep 20, 2010, at 2:56 PM, Andy McKenzie wrote: >>>> >>>> > Hey folks, >>>> > >>>> > I have the feeling this is a stupid question, but I can't even find >>>> > anything about it. Maybe I'm just not searching for the right things. >>>> > >>>> > Here's the problem. I'm writing a lot of pages, and I hate going in >>>> > and out of PHP. At the same time, I want my HTML to be legible. When >>>> > you look at it, that's kind of a problem, though... for instance >>>> > (assume this had some PHP in the middle, and there was actually a >>>> > reason not to just put this in HTML in the first place): >>>> > >>>> > Simple PHP: >>>> > <?php >>>> > >>>> > echo '<html>'; >>>> > echo '<head>'; >>>> > echo ' <title>Page Title</title>'; >>>> > echo '</head>'; >>>> > echo '<body>'; >>>> > echo '<p>This is the page body</p>'; >>>> > echo '</body>'; >>>> > echo '</html>'; >>>> > >>>> > ?> >>>> > >>>> > >>>> > Output page source: >>>> > <html><head> <title>Page Title</title></head><body><p>This is the >>>> > page body</p></body></html> >>>> > >>>> > >>>> > Now, I can go through and add a newline to the end of each line (echo >>>> > '<html>' . "\n"; and so on), but it adds a lot of typing. Is there a >>>> > way to make this happen automatically? I thought about just building >>>> > a simple function, but I run into problem with quotes -- either I >>>> > can't use single quotes, or I can't use double quotes. Historically, >>>> > I've dealt with the issue by just having ugly output code, but I'd >>>> > like to stop doing that. How do other people deal with this? >>>> > >>>> > Thanks, >>>> > Alex >>>> >>>> Alex >>>> >>>> Just add a \n at the end as >>>> >>>> echo '<html>\n'; >>> >>> That will not work. Single quotes means that the '\n' is not interpreted >>> as a new line so you'll see a bunch of '\n' in the output. >>> >>> What I sometimes do is: >>> >>> $out = array(); >>> $out[] = '<html>'; >>> $out[] = '<head>'; >>> $out[] = ' <title>Page Title</title>'; >>> $out[] = '</head>'; >>> $out[] = '<body>'; >>> $out[] = '<p>This is the page body</p>'; >>> $out[] = '</body>'; >>> $out[] = '</html>'; >>> echo join("\n",$out); >>> >> >> Interesting. I hadn't thought of that, but it could work. It'd still >> be quite a bit of extra typing, but at least I find it more >> readable... >> > > Ash already mentioned it: heredoc format. Much easier, less typing, > easier to read, keeps formatting, etc, etc etc. > > Regards > Peter > > -- > <hype> > WWW: http://plphp.dk / http://plind.dk > LinkedIn: http://www.linkedin.com/in/plind > BeWelcome/Couchsurfing: Fake51 > Twitter: http://twitter.com/kafe15 > </hype> > You may well be right; it's a format I haven't used much, but it may well be the right choice here. I think the main thing I'm seeing is that there isn't a single, accepted, simple way to do this: no matter what I do, it will be a workaround of some type. Either I'm adding complexity (a function to convert everything), or I'm adding lines (heredoc/nowdoc seem to require that the opening and closing tags be on lines without any of the string on them), or I'm adding typing (adding ' . "\n"' to the end of every line of HTML). Perhaps I'll put some effort into building a function to do it, but not this week... I think for now I'll keep appending those newlines, and just have more code to fix at a later date. It's reasonably clean, it's just mildly annoying. Thanks, all, and if anyone comes up with a really elegant solution, please let me know! -Alex
From: Andy McKenzie on 20 Sep 2010 16:52 Here's a related question maybe one of you can answer: is there any place in HTML (not PHP, but actually in HTML) where there's a difference between a single quote and a double quote? As nearly as I can tell, it shouldn't ever matter. If that's the case, using double-quotes to enclose an echo gets a lot simpler... -Alex
From: Bastien Koert on 20 Sep 2010 17:02 On Mon, Sep 20, 2010 at 4:52 PM, Andy McKenzie <amckenzie4(a)gmail.com> wrote: > Here's a related question maybe one of you can answer: is there any > place in HTML (not PHP, but actually in HTML) where there's a > difference between a single quote and a double quote? As nearly as I > can tell, it shouldn't ever matter. If that's the case, using > double-quotes to enclose an echo gets a lot simpler... > > -Alex > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > The standard suggests that double quotes are to be used for HTML attributes. It might be easier to use single quotes to wrap the whole set and therefore allow the user of double quotes in your output. My personal preference in what you are talking about is to have a view function that takes an array of data and perhaps errors and then shows the form with no other processing than maybe a loop. That way I can create the HTML as I please, copy and paste it into the function, and then do what ever I need to, to process the data before turning that into an array and passing it into the function function showForm($data, $errors){ ?> Name: <input type="text" value="<?php echo $data['name']; ?>" name="name"> <?php }//end function ?> -- Bastien Cat, the other other white meat
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 5 Prev: PHP Email Question Next: not able to connect to MySQL |