[
https://issues.apache.org/jira/browse/THRIFT-5082?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-5082.
--------------------------------
Fix Version/s: 0.14.0
Assignee: Stanislav
Resolution: Fixed
> Add a Class reference for PHP enum $_TSPEC
> ------------------------------------------
>
> Key: THRIFT-5082
> URL: https://issues.apache.org/jira/browse/THRIFT-5082
> Project: Thrift
> Issue Type: Improvement
> Components: PHP - Compiler
> Reporter: Stanislav
> Assignee: Stanislav
> Priority: Major
> Fix For: 0.14.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Currently we are losing the connection between the structure enum parameter
> value and the enum definition itself in PHP.
>
> The following thrift parameter which is using GroupType enum:
> {code:java}
> 5: required GroupType group_type;{code}
> Is compiled to PHP:
> {code:java}
> 5 => array(
> 'var' => 'group_type',
> 'isRequired' => true,
> 'type' => TType::I32,
> ),{code}
>
> Which means that we cannot say on PHP side if that is a regular *i32* or an
> *enum*.
> *Why do I need that?*
> I am using lowercase enum values instead of integers in database and on the
> frontend. Currently converting them by manually specifying the Enum Classes
> for enum parameters for each Structure which is not scalable, more difficult
> to maintain and growing over time.
> This also makes it impossible to validate fields by Enum values on php side.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)