Laravel Artisan General Command: The optimize Command


John Koster

Published on December 7, 2016

The optimize command optimizes various aspects to improve the performance of the Laravel application. The command provides two flags. The --force flag can be set to indicate that the compiled class file should be written (by default the compiled class is not written when the application is in debug mode). The --psr flag can be set to indicate that Composer should not create an optimized class map loader (class maps are generally better for performance reasons).

The compiled files cache will be written to the bootstrap/cache/compiled.php cache file. The files that are compiled and written to the cache any files that meet the following criteria:

  • Any files specified in the compile.files configuration entry;
  • Any files that are specified by any service providers listed in the compile.providers configuration entry;
  • Any framework files listed in the src/Illuminate/Foundation/Console/Optimize/config.php file.

The following examples demonstrate how to use the optimize command:

1# Generate a compiled class file with default options.
2php artisan optimize
4# Generate a compiled class file without optimizing the Composer
5# autoload file.
6php artisan optimize --psr
8# Generate a compiled class file on a development or debug machine.
9php artisan optimize --force

When specifying the --psr flag, the optimize command will call the composer dump-autoload command. Without the --psr flag, the Composer command composer dump-autoload -o will be called instead.