39
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang cố gắng gọi một chức năng từ một chức năng khác. Tôi gặp lỗi:
Fatal error: Call to undefined function getInitialInformation[]
in controller.php on line 24
Trình điều khiển.php Tệp:
require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
model/model.php
function getInitialInformation[$id] {
return $GLOBALS['em']->find['InitialInformation', $id];
}
Những điều đã thử:
- Đã xác minh rằng yêu cầu_once hoạt động và tệp tồn tại ở vị trí được chỉ định.
- Đã xác minh rằng chức năng tồn tại trong tệp.
Tôi không thể tìm ra điều này. Am i thiếu cái gì ở đây?
Đã hỏi ngày 2 tháng 1 năm 2013 lúc 1:20Jan 2, 2013 at 1:20
6
Cách tái tạo lỗi và cách khắc phục nó:
Đặt mã này vào một tệp có tên
p.php
:Chạy nó như thế này:
php p.php
Chúng tôi nhận được lỗi:
PHP Fatal error: Call to undefined function salt[] in /home/el/foo/p.php on line 6
Giải pháp: Sử dụng
0 thay vìrequire_once["model/model.php"]; function intake[] { $info = getInitialInformation[$id]; //line 24 }
1require_once["model/model.php"]; function intake[] { $info = getInitialInformation[$id]; //line 24 }
Vì vậy, nó làm như thế này thay vào đó:
Nếu ai đó có thể đăng một liên kết đến lý do tại sao $ này phải được sử dụng trước khi các chức năng PHP trong các lớp học, vâng, điều đó sẽ rất tuyệt.
Đã trả lời ngày 28 tháng 3 năm 2014 lúc 20:59Mar 28, 2014 at 20:59
Eric Leschinskieric LeschinskiEric Leschinski
139K91 Huy hiệu vàng405 Huy hiệu bạc327 Huy hiệu đồng91 gold badges405 silver badges327 bronze badges
7
Đây là một sai lầm của nhà phát triển - một nẹp kết thúc không đúng chỗ, làm cho hàm trên trở thành một hàm lồng nhau.nested function.
Tôi thấy rất nhiều câu hỏi liên quan đến lỗi chức năng không xác định trong SO. Hãy để tôi lưu ý điều này như một câu trả lời, trong trường hợp người khác có cùng một vấn đề với phạm vi chức năng.function scope.
Những điều tôi đã cố gắng khắc phục sự cố trước:
- Tìm kiếm tệp PHP với định nghĩa chức năng trong đó. Đã xác minh rằng tập tin tồn tại.
- Đã xác minh rằng câu lệnh yêu cầu [hoặc bao gồm] cho tệp trên tồn tại trong trang. Ngoài ra, xác minh đường dẫn tuyệt đối trong yêu cầu/bao gồm là chính xác.
- Đã xác minh rằng tên tệp được đánh vần chính xác trong câu lệnh yêu cầu.
- Đã lặp lại một từ trong tệp đi kèm, để xem nó có được bao gồm đúng không.
- Xác định một chức năng riêng biệt ở cuối tệp và gọi nó. Nó cũng hoạt động.
Thật khó để theo dõi niềng răng, vì các chức năng rất dài - vấn đề với các hệ thống kế thừa. Các bước khác để khắc phục sự cố là thế này:
- Tôi đã xác định một chức năng in đơn giản ở cuối tệp bao gồm. Tôi đã chuyển nó sang ngay trên "chức năng không xác định". Điều đó làm cho nó không xác định quá.
Xác định đây là một số vấn đề phạm vi.
Đã sử dụng tính năng thu gọn NetBeans [Fold Code] để kiểm tra chức năng ngay phía trên tính năng này. Vì vậy, hàm 1000 dòng ở trên chỉ bị sụp đổ cùng với quy mô này, làm cho đây là một hàm lồng nhau.
Khi vấn đề được xác định, đã cắt chức năng đến cuối tệp, trong đó giải quyết vấn đề.
Đã trả lời ngày 2 tháng 1 năm 2013 lúc 2:04Jan 2, 2013 at 2:04
janenz00janenz00janenz00
3.2355 huy hiệu vàng27 Huy hiệu bạc37 Huy hiệu đồng5 gold badges27 silver badges37 bronze badges
4
Nhiều lần vấn đề xảy ra vì
require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
2 không hỗ trợ các thẻ mở ngắn trong tệp require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
3, tức là:
Bạn phải dùng:
________số 8
egig
4.2855 Huy hiệu vàng28 Huy hiệu bạc 50 Huy hiệu Đồng5 gold badges28 silver badges50 bronze badges
Đã trả lời ngày 26 tháng 9 năm 2013 lúc 21:08Sep 26, 2013 at 21:08
JriverojriveroJRivero
Huy hiệu Bạc 911 Huy hiệu Đồng1 silver badge3 bronze badges
Tôi đã xảy ra vấn đề đó trên một máy chủ ảo, khi mọi thứ hoạt động chính xác trên lưu trữ khác. Sau nhiều lần sửa đổi, tôi nhận ra rằng tôi
require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
4 hoặc require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
5 hoạt động trên tất cả các cuộc gọi ngoại trừ trong một tệp. Vấn đề của tệp này là mã require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
6 ở đầu và cuối của văn bản. Đó là một kịch bản chỉ là require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
7, và trong phiên bản Apache đang chạy không hoạt động
Loki
9.1867 Huy hiệu vàng52 Huy hiệu bạc76 Huy hiệu đồng7 gold badges52 silver badges76 bronze badges
Đã trả lời ngày 30 tháng 8 năm 2016 lúc 9:32Aug 30, 2016 at 9:32
0
Hiện tại tôi đang làm việc trên các dịch vụ web trong đó chức năng của tôi được xác định và nó đã ném một hàm không xác định. Tôi vừa thêm điều này trong autoload.php trong codeigniter
$ autoload ['helper'] = mảng ['chung', 'bảo mật', 'url'];
phổ biến là tên của bộ điều khiển của tôi.
Đã trả lời ngày 9 tháng 6 năm 2017 lúc 10:00Jun 9, 2017 at 10:00
1
Vui lòng kiểm tra xem bạn có
require_once["model/model.php"];
function intake[] {
$info = getInitialInformation[$id]; //line 24
}
8 ở đầu mã của bạn không. Nếu bạn quên nó, lỗi này sẽ xuất hiện.Đã trả lời ngày 29 tháng 9 năm 2020 lúc 3:32Sep 29, 2020 at 3:32