|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2008-09-10 20:53 UTC] vask at dmglobal dot net
Description: ------------ The ONLY way you can ensure that the correct code styling is done is if there is some kind of "separator" between different languages mixed in the same file. The current implementation of PHP doesn't ALWAYS allow for a "separator" when mixing different languages such as HTML, JS, PHP, etc... With most things we are ok.. there are already separators that can be recognized by a text editor... ie) <? <script> However, there are cases where a text editor will be unable to realize the language change is present because a "separator" will NOT be present... like if something is in quotations... Below is the easiest example I can think of. ie)file.html.php <? $variable = '<p>Don\'t ' . $_GET['verb'] . '</p>'; ?> - incorrect html code styling (should NOT be a solid color). - requires \' or fiddling with the quotations. ie)file.abc (THEORETICAL) <? $variable = ?><?html <p>Don't ?><? . $_GET['verb'] . ?><?html </p> ?><? ; ?> - correct html code styling. - No need to escape or fiddle with the apostrophe in "Don't." NOTE: Two separate syntaxes (<? or <?= ) would ONLY be needed for the SERVER side language (PHP). My suggestion may be ignored by the PHP community but I think people would love to see something fill in gap when it comes to code styling AND mixing different languages together... Please also note that this proposal is intended for mixing an UNLIMITED number of client side languages in the same file by a valid PHP separator (NOT just HTML and PHP). My original issue is posted here: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_23658501.html#a22442342 Reproduce code: --------------- <? // See bug description (this is essentially a repeat of what was mentioned in there...) // file.html.php // incorrect html code styling (should NOT be a solid color). // requires \' or fiddling with the quotations. $variable = '<p>Don\'t ' . $_GET['verb'] . '</p>'; //---------------------- // file.abc // THEORETICAL EXAMPLE // Correct html code styling. // No need to escape or fiddle with the apostrophe in "Don't." $variable = ?><?html <p>Don't ?><? . $_GET['verb'] . ?><?html </p> ?><? ; ?> Expected result: ---------------- // Text editor displays correct code styling when mixing different languages together. // This feature request is about creating a "separator" in PHP so that the correct code styling will ALWAYS be possible in a text editor when mixing different client side languages in the same file. // ie) // <?html // <?js // <?php // <?client_side_language_154 Actual result: -------------- // Text editor displays incorrect code styling when mixing different languages together because a recognizable "separator" between languages is NOT present. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 08:00:01 2025 UTC |
This incident has been closed since [10 Sep 2008 9:10pm UTC] as "bogus," but it was never pointed out that /**/ (a php comment) can and does act as a valid separator to denote what language is in a quoted string. This is important because now the only thing needed is to find a text editor that can utilize this. So what TEXT EDITOR will support the following syntax or a similar syntax: /*FILETYPE*/' '/*FILETYPE*/ "/*FILETYPE*/ "/*FILETYPE*/ where FILETYPE is the extension on the file. ie) php_css.php <? $dark = true; echo /*CSS*/' font { '/*CSS*/ . $dark ? /*CSS*/'color: black;'/*CSS*/ : /*CSS*/'color: white;'/*CSS*/ . ' size: 20px; margin-top: 40px; } '/*CSS*/; ?> Text Editor NOTES: - You can NOT really see the code style in this post so let me explain. - All code SHOULD have php code style by default. - All code in between the /*CSS*/' and '/*CSS*/ SHOULD have css code style. (NOT a single solid color for a quoted string.) If anyone knows a text editor that supports code style as mentioned above please share! Thanks. -John