eZ Publish 5.x is a "Dual kernel" software. This means it contains both a legacy kernel (effectively a "4.y" version) aka "Legacy Stack", and a new 5.x kernel, aka "Symfony Stack" (because it uses Symfony2 Fullstack framework).
For documentation on the legacy kernel, please go to doc.ez.no where you'll find documentation on everything from its GUIs, official extensions to template coding ( 5.x doc: User manual & Technical manual ). If you are looking for documentation on how to develop extensions for legacy in php, then also see relevant material on share.ez.no ( Tutorials, Blogs ).
The new 5.x kernel is built using an HMVC model. It currently consists of Public API (Model), Symfony2 Fullstack Framework (Hierarchical View Controller) with Twig (template engine) enhanced with eZ Publish concepts (Core Bundle). On top of these you'll find REST v2 API, Demo Bundle and a Legacy Bundle allowing some integration between the two kernels.