delux
delux

Reputation: 1886

Yii2 framework - reduce not used memory (files)

I want to set up new project in Yii 2.0.6 framework, which I will use for simple REST calls only (making requests and getting responses from DB).

I have downloaded the framework from their official site (basic pack from Archive file). Now initially I have empty project that initially take place of ~24MB. I'm not sure if this is a good idea, because every time I will make some request (from mobile devices), it will probably load all these 24MB from the server. Is it how it works?

Is there a way for setting up the Yii 2.0.6 project with minimal size on the disk? I really need everything to be optimized and to load as minimal code as possible.

Upvotes: 0

Views: 677

Answers (2)

Salem Ouerdani
Salem Ouerdani

Reputation: 7886

PHP files will only be rendered in the server side where only required files will be loaded and used and all what your mobile is going to receive are the Json outputs if what you are going to build is a REST api.

To check the size in byte of a json file that your mobile is going to receive, you can use curl as described in Yii2 REST docs and add grep Content-Length to the request :

curl -i -H "Accept:application/json" "http://YOUR_RESOURCES_URL" | grep Content-Length

or you can use the network tab of a navigator dev tools instead :

  • here the json file's size is 392B and it took 179 ms to receive it from server

enter image description here

Also remember that by default Yii is installed with dev environment settings, there is optimizations to do before publishing the product in order to optimize time responses. check this for more details.

It is also good practice to use a tool like gzip to compress data before sending to mobile as described here : JSON REST Service: Content-Encoding: gzip

Upvotes: 1

ChristopheBrun
ChristopheBrun

Reputation: 1207

Of course not. Yii only load the required classes (and files) on the fly, thanks to the autoloading mechanism.

A few components are preloaded during the bootstrap phase (and you can add or remove some of them in the configuration file). Other classes won't clutter your memory as long as you don't use them.

Upvotes: 1

Related Questions