Cảnh báo: Bằng cách này bạn không nên lập trình ...(Nếu bạn đang không chắc chắn những gì bạn đang làm :))
tôi đã viết 1 hàng mà Echos hằng số và các giá trị số của mình bằng cách lựa chọn của bạn CATEGORY_
vì vậy đây là danh sách các CATEGORY_ ERR_
foreach(get_defined_constants() as $key => $value) if(strlen($key)>5) if(substr($key, 0,5)=="ERR_") echo"<br>Found an php ERR_ constant! : ".$key."=>".$value;
Và nếu bạn muốn chỉ là một bạn đang tìm kiếm theo số => tôi tạo ra 1row chức năng:
//input parameters: CATEGORYNAME_ , #constantNumber
function getConstantName($category,$constantNumber){foreach(get_defined_constants() as $key => $value) if(strlen($key)>strlen($category)) if(substr($key, 0,strlen($category))==$category) if($value==$constantNumber) return $key; return "No constant found.";}
vì vậy, ví dụ som thông tin điện tử thường xuyên với số lượng 64:
echo "NameOfConstant: ".getConstantName("INFO_",64);
sẽ ra cái gì đó như: NameOfConstant: INFO_LICENSE
Không có gì nghiêm trọng, trên thực tế. Chỉ cần suy nghĩ về cách để vượt qua mã lỗi từ hàm lớp. Đối với tôi const ERR_SOME_ERROR = 'ERR_SOME_ERROR' có vẻ kỳ lạ, tôi nghĩ rằng hàm getLastError() của tôi có thể trả về một cái gì đó như mảng (5003 => 'ERR_SOME_ERROR', 5002 => 'ERR_SOME_ERR2') và vân vân. Chỉ cần có mã lỗi và tên lỗi được trả về. Vâng, tôi càng nghĩ về nó, tôi có thể sẽ không sử dụng nó (cho cú pháp khác thường như bạn đã nói) :) –
cũng cần nó cho CURLE_ * hỗ trợ liên tục, nơi 'curl_multi_strerror' không có sẵn –
Tôi" cần "một cái gì đó như thế này để cung cấp đầu ra lỗi đẹp hơn mà không phải viết lại cách chúng tôi theo dõi một số mã lỗi nhất định được lưu trữ dưới dạng hằng số. – Frug