Tôi có thể làm việc này không?PHP bao gồm tệp trong foreach Loop
foreach ($item as $val)
{
include('external_script.php');
}
Trường hợp kịch bản bên ngoài là khoảng 800 dòng mã, tôi muốn giữ riêng cho mục đích tổ chức.
Duyên dáng!
Tôi có thể làm việc này không?PHP bao gồm tệp trong foreach Loop
foreach ($item as $val)
{
include('external_script.php');
}
Trường hợp kịch bản bên ngoài là khoảng 800 dòng mã, tôi muốn giữ riêng cho mục đích tổ chức.
Duyên dáng!
Nó sẽ hoạt động nhưng có một đầu vào đĩa I/O để gọi một tệp ngoài trong vòng lặp trừ khi bạn tình cờ có APC, XCache, eAccelerator đang chạy. Bên cạnh đó, bạn không thể sử dụng bao gồm. Bạn nên sử dụng include_once nếu đó là cùng một tệp bạn đang tải lại
Trong một tình huống nhất định trên máy chủ ipage.com, làm điều này mang lại cho tôi một lỗi máy chủ 500. – atwellpub
Rất nhiều thứ có thể gây ra lỗi máy chủ 500. Có lẽ bạn nên bắt đầu một Q & A mới. – stillstanding
Tôi đoán bạn nên sử dụng chức năng này tốt hơn.
Bao gồm tệp cần đọc, phân tích cú pháp và diễn giải tệp. Nhưng nếu bạn có một chức năng mà bạn chỉ cần ăn với $item
hiện tại, mã của nó chỉ được đọc, phân tích cú pháp và diễn giải một lần và bạn sẽ không có chi phí mà bạn sẽ có với việc bao gồm.
Cho dù bạn có ổn hay không phụ thuộc vào việc bạn có muốn bao gồm tập lệnh bên ngoài của mình trong mỗi lần lặp hay không.
Lưu ý rằng nếu tệp được bao gồm của bạn chứa hàm, bạn sẽ gặp phải các lỗi khi cố định nghĩa cùng một hàm nhiều lần.
ermmmm - tại sao?
nếu cùng một tệp của nó bao gồm một lần - có thể đặt mã trong đó trong một hàm và chỉ cần gọi hàm đó bao nhiêu lần bạn cần.
Đó là một cách để làm chức năng của người nghèo. – Pacerier
Bạn bị thương không bị giết bởi một vị thần để làm điều đó, và nó thậm chí sẽ hoạt động. Nhưng vẫn hoạt động tốt hơn.
Tôi nghĩ bạn nên cân nhắc sử dụng hàm eval()
thay thế.
........ Vì vậy, tôi đang duy trì một đoạn đường 30.000 slop nơi lập trình viên thực hiện việc này mọi lúc. Nếu bạn là anh ta, tôi có thể đấm bạn qua internet không? – Incognito
@Incognito, Bạn có nghĩa là 30k dòng trong một tệp duy nhất hoặc bạn có nghĩa là * tổng * của 30k dòng? – Pacerier