I've heard many places that PHP's eval
function is often not the answer. In light of PHP 5.3's LSB and closures we're running out of reasons to depend on eval
or create_function
.
Are there any conceivable cases where eval
is the best (only?) answer in PHP 5.3?
This question is not about whether eval
is evil in general, as it obviously is not.
Summary of Answers:
- Evaluating numerical expressions (or other "safe" subsets of PHP)
- Unit testing
- Interactive PHP "shell"
- Deserialization of trusted
var_export
- Some template languages
- Creating backdoors for administers and/or hackers
- Compatibility with < PHP 5.3
- Checking syntax (possibly not safe)