Tôi có một hàm bao gồm tệp dựa trên chuỗi được chuyển đến đó tức là biến hành động từ chuỗi truy vấn. Tôi sử dụng điều này cho mục đích lọc vv để mọi người không thể bao gồm các tập tin họ không nên có thể và nếu tập tin không tồn tại một tập tin mặc định được nạp thay thế. Vấn đề là khi chức năng chạy và bao gồm phạm vi tập tin, bị mất vì bao gồm chạy bên trong một hàm. Điều này trở thành một vấn đề bởi vì tôi sử dụng một tập tin cấu hình toàn cầu, sau đó tôi sử dụng các tập tin cấu hình cụ thể cho mỗi mô-đun trên trang web. Cách tôi đang thực hiện tại thời điểm này là xác định các biến tôi muốn có thể sử dụng làm toàn cục và sau đó thêm chúng vào đầu chức năng lọc.PHP Phạm vi bảo tồn khi gọi một hàm
Có cách nào dễ dàng hơn để thực hiện điều này, tức là bằng cách bảo toàn phạm vi khi có cuộc gọi chức năng hoặc có một thứ như macro PHP?
Chỉnh sửa: Sẽ tốt hơn nếu sử dụng trích xuất ($ _ GLOBALS); bên trong hàm gọi của tôi thay vào đó?
Chỉnh sửa 2: Đối với bất kỳ ai quan tâm. Tôi nhận ra rằng tôi đã nghĩ về vấn đề hoàn toàn và thay vì sử dụng một chức năng tôi chỉ nên sử dụng một bao gồm, duh! Bằng cách đó tôi có thể giữ phạm vi của tôi và có bánh của tôi quá.
Trong trường hợp của tôi phải dùng đến của bạn "Chỉnh sửa 2" và chỉ sử dụng một bao gồm không làm việc vì tôi đã có nhiều thứ hơn đang diễn ra. Về cơ bản nghĩ về nó như là một lớp "View" đòi hỏi một viewscript.php mà bởi vì chúng ta đang ở trong một phạm vi plugin, tôi muốn vượt qua phạm vi "toàn cầu" để các bản ghi mà không cần khai báo mỗi biến duy nhất là toàn cầu trong " doInclude "function. –