cakephp/cakephp — pull request #1693 by renan (2013-09-29 10:13:10+00:00)
Title: Make BaseSchema abstract and add abstract methods to it.

This PR focus on making easier to implement other driver schemas by making BaseSchema abstract and adding abstract methods to it.

`_convertColumn` is now protected, all schema implementations now only exposes public methods as defined in the BaseSchema.

The last point can be a bit opinionated and I don't remember having a discussion about it.
I introduced `{@inheritdoc}` into our codebase. When looking at the docblocks of the schema implementations all of them were pretty much alike. I thought it was just way too much repetition and decided to give it a try.

Some pros and cons I can think are:
- Pros:
- They are all equal and extra descriptions can be 'appended'.
- Focus on documenting one and documenting it well.
- Typo? Better wording? Just update one place.
- ApiGen (used for generating our api.cakephp.org) supports it
- Cons:
- Since they are pretty much all equals if there is any typo or better wording we will have to go through four files.
- Understanding what the code does may become more difficult, althught some editors make it easy to see the inherited documentation.

Thoughts?