Cakephp 2.x vs Cale php 3.X


#1

i would like to take help from senior members of Community that i have Started My Cakephp Carer in 2.5.4 and then do work in 2.7 and on words in 2.9 in Some of my Project Back into 2016 Now I want to Start a new project But i am Confused as Cakphp 3.5 released but i have no idea of it.
Should i First get some idea of cakephp 3 and then Start working in 3.5 or you people should prefer me to work in 2.7 or 2.9 as there help is available


#2

I would suggest to use Cake 3 for new projects. The new ORM ships a lot of improvements.


#3

thanks @rrd For your suggestion is there is enough help exist for Starting project in Cakephp 3


#4

Cake 3 has a lot of improviments, but version 2 is more magic and flexible specialy if you intend to use some custom Model names, etc.

In Cake 3 I am having some troubles because I am using portuguese names for Tables, Entities and Controllers, so some things didn’t work as expected


#5

if you need to use non conventional names extra configuration is needed to things work as expected, example:

model / table:

class EmpresasTable extends Table
{
    public function initialize(array $config)
    {
        $this->setTable('my_nonconventional_table_name');
    }
}

bootstrap.php configure inflector irregular rules

Inflector::rules('irregular', [
    'solicitacao' => 'solicitacoes',
    'situacao' => 'situacoes',
    'item' => 'itens',
    'variavel' => 'variaveis',
    'padrao' => 'padroes',
    'configuracao' => 'configuracoes',
    'responsavel' => 'responsaveis',
    'pais' => 'paises'
]);

#6

I will suggest start using cakephp 3.x . For any kind help start reading cakephp cookbook which is very helpful.

Please let us know if you need any other kind of help.

Regards,
Ashish


#7

I think you must go with Cakephp 3.x. It is more flexible to develop any kind of project. In cake 3.x you start modular based coding and feel more freedom which is not in cake 2.x. Cake 3.x is entity based which give you tight coupling with database table entities. And lots more when you will spent time.