From: Simcha Younger on
On Sep 20, 2010, at 2:56 PM, Andy McKenzie wrote:


> Hey folks,
>
> 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):

Unless you are looking at the HTML alot, you can just paste the source into an editor which can auto-format the code, or look at the code in firebug (that is the usual place where I look at my HTML.)

If there is a specific place you want to look at in the html, just change the lines there to look like this:
echo '<html>
';
but this will make your PHP quite messy if you do it alot.

I would go with templating, as many here suggested.

--
Simcha Younger <simcha.younger(a)gmail.com>
From: Benjamin Hawkes-Lewis on
On 20 Sep 2010, at 22:02, Bastien Koert wrote:
> The standard suggests that double quotes are to be used for HTML
> attributes.

Where?

--
Benjamin Hawkes-Lewis
From: Richard Quadling on
On 20 September 2010 19:56, Andy McKenzie <amckenzie4(a)gmail.com> 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
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

There is also the tidy extension which will take your badly formatted
html tag soup and create formatted html, xhtml, etc.

But really, why bother?

Whenever I need to view the source I use the browsers viewsource
option or firebug/console/etc. Essentially, client side.

But using templates with heredoc ...

<?php
// Template to display a username row.
// Requires a $a_User array
return <<< END_HTML
<tr>
<th>{$a_User['Name']}</th>
</tr>
END_HTML;


sort of thing is easy enough to build. And in a loop ...

$s_Users = '';
foreach($a_Users as $a_User) {
$s_Users .= include '../templates/users.tmpl';
}

Now, $s_Users contains the rows to display the users and you could do
something to it if you wanted to.

Of course, rolling your own system is fine, but there are other
templating systems available, though, of course, PHP _IS_ the
templating system, so why learn another one.

If you are using a designer to structure the HTML and then adding your
code to build the pages, then a templating system compatible with the
designer's tools would be a good option.

--
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY
From: Andy McKenzie on
On Tue, Sep 21, 2010 at 3:32 AM, Simcha Younger
<simcha.younger(a)gmail.com> wrote:
> On Sep 20, 2010, at 2:56 PM, Andy McKenzie wrote:
>
>
>> Hey folks,
>>
>>  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):
>
> Unless you are looking at the HTML alot, you can just paste the source into an editor which can auto-format the code, or look at the code in firebug (that is the usual place where I look at my HTML.)
>
> If there is a specific place you want to look at in the html, just change the lines there to look like this:
> echo '<html>
> ';
> but this will make your PHP quite messy if you do it alot.
>
> I would go with templating, as many here suggested.
>
> --
> Simcha Younger <simcha.younger(a)gmail.com>
>

That's actually why this came up -- for the first time I AM looking at
the generated HTML a lot. I'm building a frontend for a set of DBs we
use (for various reasons none of the pre-built ones I could find would
work for us), and I'm spending a fair amount of time trying to figure
out whether I messed up the code, or the output just doesn't display
as I expected. I've never done anything quite this complex, and have
therefore never needed to look at the output html a lot. I've also
just gotten tired of having my output completely unreadable... I'd
like to have this project done right, and to me that means the source
and the output should both be reasonably easy to parse, in addition to
other things (paying a lot more attention to security than I usually
do, for instance...).

-Alex
From: "Bob McConnell" on
From: Andy McKenzie

> 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.

It should be relatively easy to do a search and replace on the double
tag locations and insert the newlines. Using tr(1) to replace all "><"
pairs with ">\n<" might be an improvement. Would it be easier to remove
the extras, or to insert all of them in the first place?

Bob McConnell
First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5
Prev: PHP Email Question
Next: not able to connect to MySQL