2014-08-27 13 views
6

Tôi mới sử dụng CodeIgniter. Tôi đã thấy rằng, để quản lý nhiều môi trường, CodeIgniter sử dụng hàm sau trong index.phpTôi làm cách nào để truy cập môi trường nào được đặt trong CodeIgniter?

define('ENVIRONMENT', 'development'); 

để xác định môi trường.

Câu hỏi của tôi là, làm thế nào tôi có thể nhận được môi trường nào được đặt ở index.php bên trong bộ điều khiển của tôi?

+0

'ENVIRONMENT' chính nó là hằng số, nó giống như một biến vì vậy bạn có thể lưu nó trong một biến hoặc sử dụng trực tiếp như: '$ EVN = ENVIRONMENT' – reignsly

Trả lời

12

ENVIRONMENT được định nghĩa trong index.php đó là pipeline của mỗi tập tin ứng dụng CI, bạn có thể truy cập mọi nơi ví dụ như mô hình, xem, điều khiển, thư viện

echo ENVIRONMENT; 
+1

xuống cử tri có thể giúp bạn thêm lý do? – Girish

2

Trong file index.php của bạn, hãy thử một cái gì đó như thế này:

if ($_SERVER['HTTP_HOST'] == 'dev' || $_SERVER['HTTP_HOST'] == 'localhost') 
{ 
    define('ENVIRONMENT', 'development'); 
} 
elseif ($_SERVER['HTTP_HOST'] == 'staging.example.com') 
{ 
    define('ENVIRONMENT', 'staging'); 
} 
else 
{ 
    define('ENVIRONMENT', 'production'); 
} 

Rõ ràng, hãy thiết lập các giá trị phù hợp với bạn. Tuy nhiên, điều này sẽ thiết lập MÔI TRƯỜNG dựa trên nơi ứng dụng đang chạy, tự động.

Các vấn đề liên quan