Bishwas-py I also was Django focused before I got involved with Flarum. Some things are different, but there are many parallels:
- Flarum controller classes are like views. For the most part they return JSON, not html. Although there are a few that do return html
- Laravel Blade View files are like Django html templates
- Eloquent models are like Django models. Note that for eloquent models, it's a DB first approach for columns (you write the migrations, and can then use columns in your model)
- Middleware is Middleware
- and a lot more.
There's also some big differences. One of the concepts new to me was the idea of dependency injection and inversion of control. There's plenty of articles about that.
I don't think you need to learn all of laravel, as we only use a portion of it. In time you'll need to understand chunks of it though. And make sure you understand the syntax of PHP.
I would strongly recommend doing the following:
- Read through the extension development docs, especially the "main concepts bit"
- Look at a simple extension, try to figure out how it works
- Try to write a simple extension.
Do you have any ideas for the first extension you want to make?