You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add raw parameter on AdapterInterface and let OpenSpout exporter use it (#366)
* Add raw parameter on AdapterInterface and let OpenSpout exporter use it
This prevents calling normalize() and render() on the column during
export with the ExcelOpenSpoutExporter.
This allows the exporter to decide how PHP values are represented in the
output file.
* Do not cache OptionsResolvers in `AbstractColumn::$resolversByClass`
This fixes a tricky bug. When you initialize a BoolColumn for the second
time, the previously configured OptionsResolver is used. In this
resolver, the default `rightExpr` option value is a callable where $this
refers to the BoolColumn that was created during the first
initialization. This might be a different BoolColumn instance. The call
to $this->getTrueValue() inside the `rightExpr` callable will then
return the wrong value.
I'm not sure if this resolver 'cache' was added after profiling or as a
precautionary measure. If it was just a precaution, I would remove it as
in this commit, as performance optimizations should always only be added
as a result of profiling.
If this was truly done to fix a performance issue, then a different fix
is necessary.
0 commit comments