Cấu hình
- Nó là gì vậy?
- Sau khi cài đặt
- Cấu hình timezone
- Cấu hình máy chủ
- Cấu hình Caching
- Maintenance Mode
- Làm sạch URLs
Nó là gì?
Tất cả cấu hình của nền tảng laravel được thiết lập trong thư mụcconfig
. Bạn có thể dẽ dàng thay đổi các options, Bạn sẽ cảm thấy quen thuộc khi làm việc với nó.
Sau khi cài dặt
Thiết lập tên riêng cho ứng dụng bạn sẽ làm:
Sau khi cài đặt ứng dụng Laravel, bạn sẽ thiết lập tên "name" cho ứng dụng của bạn. Mặc định, thư mục app
là namespaced giống với tên ứng dụng là App
, và tự động sinh code theo chuẩn PSR-4 autoloading. Tuy nhiên, bạn có thể dễ dàng thay đổi namespace hay tên ứng dụng của bạn, bạn có thể làm điều đó bằng dòng lệnh sau php artisan app:name
.
Chẳng hạn, nếu ứng dụng của bạn có tên là "ungdungdautien", bạn sẽ chạy dòng lệnh sau với quyền root:
php artisan app:name ungdungdautien
Thay đổi tên ứng dụng thì rất dễ dàng phải không, và bạn cũng có thể tạo ra nhiều tên App
namespace khác nếu bạn muốn.
Cấu hình khác:
Ngoài ra laravel không cần cấu hình gì khác. Như thế bạn đã có thể bắt đầu làm việc! Tuy nhiên, mã nên xem lại file config/app.php
. một số options như timezone
và locale
có thể giúp thay đổi một vài thư cần thiết cho ứng dụng của bạn.
Một ứng dụng Laravel đã đưọc cài đặt, bạn nên học cách cấu hình máy chủ ảo tại đây.
Chú ý: Bạn nên có một file
app.debug
được thiết lập thuộc tính làtrue
for cho mỗi thành phần trong ứng dụng.
Phân quyền người dung
Laravel có thể cần một vài thiết lập phân quyền cho: thư mục storage
và vendor
cần được writed trong máy chủ.
Cấu hình timezone
You may easily access your configuration values using the Config
facade:
$value = Config::get('app.timezone');
Config::set('app.timezone', 'America/Chicago');
You may also use the config
helper function:
$value = config('app.timezone');
Environment Configuration
It is often helpful to have different configuration values based on the environment the application is running in. For example, you may wish to use a different cache driver locally than you do on your production server. It's easy using environment based configuration.
To make this a cinch, Laravel utilizes the DotEnv PHP library by Vance Lucas. In a fresh Laravel installation, the root directory of your application will contain a .env.example
file. If you install Laravel via Composer, this file will automatically be renamed to .env
. Otherwise, you should rename the file manually.
All of the variables listed in this file will be loaded into the $_ENV
PHP super-global when your application receives a request. You may use the env
helper to retrieve values from these variables. In fact, if you review the Laravel configuration files, you will notice several of the options already using this helper!
Feel free to modify your environment variables as needed for your own local server, as well as your production environment. However, your .env
file should not be committed to your application's source control, since each developer / server using your application could require a different environment configuration.
If you are developing with a team, you may wish to continue including a .env.example
file with your application. By putting place-holder values in the example configuration file, other developers on your team can clearly see which environment variables are needed to run your application.
Accessing The Current Application Environment
You may access the current application environment via the environment
method on the Application
instance:
$environment = $app->environment();
You may also pass arguments to the environment
method to check if the environment matches a given value:
if ($app->environment('local'))
{
// The environment is local
}
if ($app->environment('local', 'staging'))
{
// The environment is either local OR staging...
}
To obtain an instance of the application, resolve the Illuminate\Contracts\Foundation\Application
contract via the service container. Of course, if you are within a service provider, the application instance is available via the $this->app
instance variable.
An application instance may also be accessed via the app
helper or the App
facade:
$environment = app()->environment();
$environment = App::environment();
Configuration Caching
To give your application a little speed boost, you may cache all of your configuration files into a single file using the config:cache
Artisan command. This will combine all of the configuration options for your application into a single file which can be loaded quickly by the framework.
You should typically run the config:cache
command as part of your deployment routine.
Maintenance Mode
When your application is in maintenance mode, a custom view will be displayed for all requests into your application. This makes it easy to "disable" your application while it is updating or when you are performing maintenance. A maintenance mode check is included in the default middleware stack for your application. If the application is in maintenance mode, an HttpException
will be thrown with a status code of 503.
To enable maintenance mode, simply execute the down
Artisan command:
php artisan down
To disable maintenance mode, use the up
command:
php artisan up
Maintenance Mode Response Template
The default template for maintenance mode responses is located in resources/views/errors/503.blade.php
.
Maintenance Mode & Queues
While your application is in maintenance mode, no queued jobs will be handled. The jobs will continue to be handled as normal once the application is out of maintenance mode.
Pretty URLs
Apache
The framework ships with a public/.htaccess
file that is used to allow URLs without index.php
. If you use Apache to serve your Laravel application, be sure to enable the mod_rewrite
module.
If the .htaccess
file that ships with Laravel does not work with your Apache installation, try this one:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
If your web host doesn't allow the FollowSymlinks
option, try replacing it with Options +SymLinksIfOwnerMatch
.
Nginx
On Nginx, the following directive in your site configuration will allow "pretty" URLs:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
Of course, when using Homestead, pretty URLs will be configured automatically.