2013-07-01 54 views
5

Tôi đang sử dụng Composer để quản lý phụ thuộc mô-đun (yêu thích sử dụng autoload.php thay vì một tấn bao gồm và yêu cầu!).Bao gồm PHP Defines() sử dụng Composer

Tôi muốn bao gồm tệp PHP nằm ngoài thư mục gốc Composer (để bảo mật) với thông tin đăng nhập được lưu trữ trong defines().

này không hoạt động, composer.json:

{ 
    "autoload": { 
    "classmap": ["../credentials.php"] 
    } 
} 

credentials.php:

define('RYAN','BRODIE'); 

test.php:

require_once __DIR__.'/../vendor/autoload.php'; 
echo RYAN; 

Kết quả trong Notice: Use of undefined constant RYAN. Nếu bộ nạp tự động của Composer chỉ dành cho Class bao gồm thì tôi sẽ biết ơn vì bất kỳ hack nào (như nó đã) để thực hiện công việc này.

+0

Sử dụng hằng đẳng cấp chứ không phải là hằng số toàn cầu sẽ là một lựa chọn –

Trả lời

12

Phương pháp đó sẽ hoạt động tốt, tuy nhiên, bạn cần phải sử dụng files thay vì classmap ví dụ;

{ 
    "autoload": { 
     "files": [ "../constants.php" ] 
    } 
} 
+0

tạo ảnh vui nhộn đã làm việc một điều trị, sẽ chấp nhận khi tôi có thể, nhờ Tom :) Không chắc thế nào tôi bỏ lỡ này trong các tài liệu –

+1

2,5 năm sau, tôi nhớ để chấp nhận ! –

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