php:用于创建自定义用户表单配置文件的库

My goal is to create a customized profile database for users, so admin can add customized field for user profile: ex:

username:text
age: number
smokes: select, selection, "yes/no"
spokenLangages, multiselection, "french, spanish"
....

The fields can be: text, textarea, select, radio, checkbox, multiSelect

Imagine more an user profile where the admin will add fields and type of fields. These fields should also be searchable (ex: search for an user whose smoke="yes" and spokenLangage is "french"

I am 100% sure that was already developed dozen of times and I don't really feel like reinventing the wheel:any idea where I can find such a library for PHP ?