2012-05-08 45 views
10

Tôi muốn biết một cách rõ ràng để xác định hằng số ứng dụng trong Codeigniter. Tôi không muốn thay đổi bất kỳ tập tin gốc của codeigniter. Do đó, tôi không muốn xác định nó trong application/config/constants.php vì khi tôi cần di chuyển sang phiên bản mã mới hơn, tôi sẽ không thể sao chép trực tiếp các tệp gốc của trình mã hóa.Xác định hằng số ứng dụng trong Codeigniter

Tôi đã tạo một tệp application/config/my_constants.php và xác định các hằng số của mình tại đó. 'define (' APP_VERSION ',' 1.0.0 ');'

tôi nạp nó bằng cách sử $this->load->config('my_constants');

Nhưng tôi nhận được một lỗi

Your application/config/dv_constants.php file does not appear to contain a valid configuration array.

Xin gợi ý cho tôi một cách sạch sẽ xác định hằng số mức độ ứng dụng trong mã igniter.

+0

Hãy làm theo hướng dẫn sẽ giúp bạn http://codeigniter.com/user_guide/libraries/config.html –

+0

Nó không phải là rất hữu ích, bởi vì, như nó nói trong hướng dẫn, codeigniter sẽ hợp nhất tập tin của bạn vào mảng hằng số , vì vậy bạn sẽ nhận được kết quả tương tự và mở một tệp khác nhiều hơn bình thường, vì vậy nó sẽ chậm hơn. – Patroklo

+4

Bất kỳ tệp nào trong thư mục ứng dụng đều dành cho bạn để chỉnh sửa. Chỉ cần tránh thay đổi bất cứ điều gì trong thư mục hệ thống. – Broncha

Trả lời

31

Không sử dụng application/config/constants.php là vô nghĩa! Đó là số chỉ đặt bạn nên đặt hằng số của bạn. Không thay đổi các tập tin trong system nếu bạn lo lắng về việc nâng cấp.

+1

Lý do tôi tránh sử dụng 'application/config/constants.php' cho các hằng số ứng dụng tùy chỉnh của mình là tôi muốn giữ cho các hằng số ứng dụng tùy chỉnh tách biệt khỏi hằng số được định nghĩa chung của Bộ mã Igniter. Tôi đang giữ các tham số cấu hình tùy chỉnh trong một tệp riêng biệt 'application/config/my_config.php' và không trộn nó với' application/config/config.php' Trong cùng một dòng, tôi muốn giữ các hằng số ứng dụng tùy chỉnh của mình trong tập tin riêng biệt. Bây giờ tôi sẽ sử dụng 'application/config/constants.php' để định nghĩa các hằng số của tôi. Cảm ơn vì đã trả lời. – piyush

+4

Bạn có thể include_once 'my_constants.php' từ constants.php để giữ riêng các tệp đó. –

2

Thay vì sử dụng define(), file my_constants.php bạn nên tìm một cái gì đó như thế này:

$config['app_version'] = '1.0.0'; 

Hãy cẩn thận với cách đặt tên phím mảng tuy nhiên, bạn không muốn mâu thuẫn với bất cứ điều gì.

Nếu bạn cần sử dụng define(), tôi khuyên bạn nên làm điều đó trong tệp index.php chính, mặc dù bạn vẫn sẽ cần phải sử dụng APP_VERSION để nhận giá trị.

0
config file (system/application/config/config.php) to set configuration related variables. 

    Or use 

    constant file (system/application/config/constants.php) to store site preference constants. 


    ======================= 
    DEFINE WHAT YOU WANT 
    ======================= 
    $config['index_page'] = 'home'; 
    $config['BASEPATH'] = 'PATH TO YOUR HOST'; 
0

Vui lòng tham khảo này:

http://ellislab.com/forums/viewthread/56981/

Xác định biến trong để hằng & thêm giá trị vào mảng

$ORDER_STATUS = array('0'=>'In Progress','1'=>'On Hold','2' 
       =>'Awaiting Review','3'=>'Completed','4' 
       =>'Refund Requested','5'=>'Refunded'); 
2

chỉ là một câu trả lời hoàn chỉnh. (Không ai trong số các câu trả lời cho thấy làm thế nào để sử dụng các hằng số đã được công bố)

Quá trình này rất đơn giản:

  1. Định nghĩa một hằng số. Mở config/constants.php và thêm dòng sau:

    define('SITE_CREATOR', 'John Doe')

  2. này sử dụng liên tục trong tập tin khác sử dụng:

    $myVar = 'This site was created by '.SITE_CREATOR.' Check out my GitHub Profile'

0

Bạn có thể hoàn thành mục tiêu của bạn bằng cách thêm các hằng số để cấu hình của riêng bạn tệp, chẳng hạn như my_config.php.

Bạn sẽ lưu tệp này trong thư mục application/config, như sau: application/config/my_config.php.

Việc tạo một tệp cấu hình riêng biệt cho mỗi ứng dụng bạn viết là rất phổ biến, do đó, các lập trình viên CI khác sẽ dễ dàng duy trì và hiểu điều này.

Bạn có thể hướng dẫn CI tự động tải tệp này hoặc bạn có thể tải tệp theo cách thủ công, nếu cần. Xem hướng dẫn sử dụng CI trên "Lớp cấu hình".

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