> Declare statements shouldn't have any impact outside of the file in which
> they appear. Declaring strict types doesn't force other classes that
> interact with the defined class to also use strict types. A declare to
> change how newlines after closing tags are handled within a single file
> forces anything that uses the classes/functions defined in that file to
> know that it handles them in a possibly different ways.

Indeed (via includes)... Also consider this hypothetical example:

```
- 0
<?php foreach([1, 2, 3] as $item): ?>
- <?= $item =?>
<?php endforeach; ?>
- 4
```

Note the use of both ?> and =?> *within the same file*; a declare
would not allow that.

> I personally don't see a need for a new closing tag. I'm not usually swayed
> by the "it adds confusion to the language" and would be against removing
> such a tag if it existed and that was the reason for removing it. However,
> I do think it's something to consider when adding something new to the
> language. In this case, I don't think the positives outweigh the negatives,
> especially in light of the fact it's really easy to accomplish this without
> changes.

I personally am generally in favor of removing "magic" stuff (even if
this isn't exactly proposing that but to add a "straightforward"
alternative).

Other example, consider starting from this:

```
- first
- foo bar
- last
```

Now if you want to "variablize" the `foo` part, just change it to e.g.
`<?= $foo ?>`; but for `bar` you have to remember and write e.g. `<?=
$bar, PHP_EOL ?>` (or add a blank line after it [or a trailing
space... no, please don't]), only because it happens to be at the end
of a line (and don't forget to re-change it if you later append a
`qux`)...

PS: An[other] argument against could be something like "please don't
add more things encouraging the use of PHP as a templating engine
(unsafe etc.)", but the main target is *non*-HTML (e.g. Markdown or
raw text) templates.

-- 
Guilliam Xavier

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to