Testing out CakePHP's Inflector magic

Want to know what the inflector is going to do to your code, what the name of your model should be when you have a wierd table name? Just enter it in here and look at what cake will generate.

This is currently running on CakePHP

The output is what has happend for that particular method, and the other items in the array are the inflicted version being convered to other types. eg pluralizing user becomes users and then camelizing users becomes Users. You can find problems with your table names and classes doing this for example if you were to use a table called this cake would expect the model Thi by default.

When ever you pluralize something and then singularize it it should be the same. The following should generally give you the output true, if it does not you need to use some custom rules or use another name.

var_dump(Inflector::singularize(Inflector::pluralize($var)) === var_dump($var))

CakePHP's Inflector class seems to handle this word correctly

pluralize :: CakePHPInflectorMagic

Convert models to controllers MyUser -> MyUsers
Inflector::pluralize($word); // CakePHPInflectorMagics
Inflector::singularize($word); // CakePHPInflectorMagic

singularize :: CakePHPInflectorMagic

Convert controllers to models MyUsers -> MyUser
Inflector::singularize($word); // CakePHPInflectorMagic
Inflector::pluralize($word); // CakePHPInflectorMagics

camelize :: CakePHPInflectorMagic

Used with singularize to make tables into models my_users -> MyUsers
Inflector::camelize($word); // CakePHPInflectorMagic
Inflector::underscore($word); // cake_p_h_p_inflector_magic

underscore :: CakePHPInflectorMagic

models to tables with the pluralize MyUser -> my_user
Inflector::underscore($word); // cake_p_h_p_inflector_magic
Inflector::camelize($word); // CakePHPInflectorMagic

humanize :: CakePHPInflectorMagic

convert models and controllers to human names MyUser -> My user
Inflector::humanize($word); // CakePHPInflectorMagic
Inflector::underscore($word); // cake_p_h_p_inflector_magic

tableize :: CakePHPInflectorMagic

Calls underscore and pluralize to make model names MyUser -> my_user -> my_users
Inflector::tableize($word); // cake_p_h_p_inflector_magics

classify :: CakePHPInflectorMagic

Table names to models my_users -> MyUser
Inflector::classify($word); // CakePHPInflectorMagic

variable :: CakePHPInflectorMagic

Was used for $this->set in 1.2 to make 'some_var' -> 'someVar'
Inflector::variable($word); // cakePHPInflectorMagic
Inflector::underscore($word); // cake_p_h_p_inflector_magic
Inflector::camelize($word); // CakePHPInflectorMagic

slug :: CakePHPInflectorMagic

Remove funny chars for a url
Inflector::slug($word); // CakePHPInflectorMagic