@samdark I have another idea about REST but I’m not sure if it is good or not for a Yii hackathon so I’ll just throw it here because I also need your feedback about it.
I like using the basic template for REST. I keep the web
folder as it is to be able to use gii to generate models, views, … the generated web controllers are useful to quickly add/update data and it is always useful to keep access to gii as you may need it later.
Then I build an api
folder for REST with its own entry script, config file, routing rules, modules, controllers, some models,… (exactly as it is done in this tutorial) and when the app should go to production I just delete the web
folder and keep only the api
folder (+ an auth
folder which role is deliver refresh and access tokens but that is a different story).
Recently I found this great extension: https://github.com/zhuravljov/yii2-rest so I started thinking about this: why not building a custom template for REST where the web
folder is entirely used to build and debug the REST api then remove it when the REST app is production ready. the web
folder in this case should be a built-in application that does the following:
1- has a built-in actions (or custom version of gii) to generate the api
folder and related modules (v1,V2,…), config file…
2- has built-in actions to build resources on the fly (which means creating tables into database, maybe also generating migration scripts, controllers, models,…) and actions to add/update/delete data. the full picture can be seen by watching the first minute of this video which gives a preview of how deployd works. the idea is to do almost the exact same within a Yii web app.
3- uses the yii2-rest extension to debug the api BUT the debugger tool bar should not debug the web
folder related app. somehow it should collect and preview logs related to the api
folder.
About 3 I don’t know if it is possible using the current yii2-debug extension and knowing that session should be disabled in the api related config file (at least when production ready). and this is why I’ll be grateful if I get your feedback about it so I may try doing it myself if it is possible but out of the Yii hackathon.