Re[8]: More accurate compiled file names

Dmitry Koteroff <[email protected]>
Newsgroups gmane.comp.php.smarty.devel
Message-ID <[email protected]>
>> Why  should I pay for something if I can get the same on the next
>> street corner? I don't understand.
AD> Because Smarty is not intended for parsing PHP-code.
Sorry,  you have not answered the straight question. You just say
something  like  this:  "if Bill Gates do not like ice-cream, you
should not intend to eat an appricot."
 
>> +                $_filename = $auto_source;
>> +                $_filename = preg_replace("{[/\\\\]}s", "^", $_filename);
>> +                $_filename =
>> preg_replace("{[^a-z0-9~!_=.^-]}si", "_", $_filename);
>> +                $_return .= $_filename;
AD> Well, the most bad thing imho - it's to make developer
AD> to look into compiled templates.
AD> That's what I'm talking about.
Agree.  But  WHO  makes  (makes!) developer to look into compiled
code? Please stick a finger to them.

>> (Maybe with concatenating crc32() result in addition, no matter).
>> Why not? Can you motivate that?
AD> Just because compiled template is generated by machine and for
AD> machine. User/developer should look into it's code.
Again, i's not an answer to the question.
Seems you do not understand the roots of the problem totally.
Sorry if I am wrong.

Text "generated for machine and for machine" could be readable by
human  too.  And  if  I should not pay for that and even must not
loot at them more often than before, why not?
 
>> >> What about {$spoon+1}, where $spoon is undefined? Smarty does not
>> >> handle at all situations like this!
>> AD> Just turn E_NOTICE off, in this case it doesn't matter, of course
>> AD> if you know what you're doing.
>> Oh, good advice - "just turn E_ERROR off and enjoy debugging hell
>> forever  -  it is so masochistical!". It is NOT a solution, it is
>> true  crutch.  I  love  E_ALL,  PHP  developers  -  too; it makes
>> debugging process much easier.
AD> Please, don't juggle with my words. I didn't say that.
But I did say. (-;

AD> If you're so masochistical - you may continue to dig
AD> machine-generated code, thinking it's the best solution.
I  do  not like to dig the "machine code" (apropos, people in the
neighbor  topic in this conference say that they want to dig it).
But  I do not like to cry tearing my hears when I cannot find the
buggy template much more. So I choose to dig instead of tear. (-;

AD> But  I'm  sure, THAT is the real crutch. And I'm believe that
AD> E_NOTICE  in  templates  it's not the same as E_NOTICE in the
AD> code.
Maybe, maybe.

AD> Just  think  about it - your templates with lots of empty() &
AD> isset() will be really pain in the ass.
Agree.  But E_NOTICE is not just a lot of isset(). You are mixing
three  independent  entities in your mind - the error itself, the
error diagnostic message and tools to handle errors. No good.

And  one  more. E_NOTICE is not the only message which is handled
at  runtime.  We  also have E_WARNING. Do you offer to disable it
too?

What  about  code  which  is called from inside the template (for
example, user-defined functions)? If I disable E_NOTICE, it would
be disabled in these functions too.

Sorry of my question, but how long do your programming in PHP and
use Smarty (approximately)?

>> AD> And  I'm  trying  to  say that Smarty just should prevent all
>> AD> fatal errors like mismatched tags, using non-existent methods
>> AD> and functions etc.
>> It  is  impossible,  I  have  said  it before. How do you plan to
>> handle such situation, for example?
>> 
>> {math equation="($a + spoon())*20"}
AD> As I've already said, we CAN'T handle all situations,
I have said the same.
Consensus! (-;

AD> but we can TRY to handle most of them.
AD> Btw, why you're changing examples all the time?
To  motivate  why  do  we  need human-readable NAMES for compiled
template filenames.

>> Again:  my solution does not make our to pay something for it. It
>> only  simplifies debugging in critical cases, no more, no less. I
>> don't understand why don't you want to use it.
AD> Because you're trying to make easier the process I don't want at all.
AD> When your C program fails - are you digging the machine
AD> code or maybe starting up a debugger?
If  somebody would write a debugger for Smarty, I will use it, of
course. (-;

And  -  why  are you talking about "machine code"? Where is it? I
have  only  said about FILENAMES - to simplify detection of buggy
SOURCE  template,  NOT  machine code. I must not to open compiled
template  at  all  - I will be satisfied only for its name in PHP
fatal  error  message. Then I will go directly to SOURCE template
and  correct  it  (line  number  I  already  have - see neighbour
thread).

Seems we are talking about completely different things.

AD> I'd choose a debugger and you're trying to make the machine
AD> code more readable.
Noone can choose non-existed tool to use it. (-;

-- 
Smarty Development Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.