Hướng dẫn how to check if php function is working? - làm cách nào để kiểm tra xem chức năng php có hoạt động không?

Có cách nào trong PHP để kiểm tra xem một chức năng đã hoàn thành xử lý trước khi cho phép nó chạy lại?

Tôi có một chức năng trên trang tải/tải lại/kiểm tra sự kiện hẹn giờ xem các mục DB có nên hết hạn dựa trên ngày kết thúc (ngày ít hơn bây giờ) và nếu ngày ít hơn bây giờ tạo ra bản ghi của bản ghi với cùng một thông tin nhưng Thêm 10 ngày vào ngày kết thúc. Kịch bản sau đó đặt trạng thái bản ghi gốc thành không hoạt động. Điều này được yêu cầu để giữ một bản sao gốc của mục trong DB và quá trình tiếp tục cho mỗi bản ghi.

Đôi khi tập lệnh sẽ tạo ra nhiều bản sao của cùng một mục để có vẻ như tập lệnh không đặt trạng thái thành không hoạt động đủ nhanh và khi trang được tải lại/truy cập, v.v ... Một phiên bản khác của tập lệnh được chạy tạo ra một bản ghi trùng lặp khác.

Vì vậy, có cách nào để kiểm tra xem một hàm hiện đang chạy và nếu bỏ qua cuộc gọi mới chỉ có một trường hợp nào chạy?

Rất rất cảm ơn

Đã hỏi ngày 5 tháng 1 năm 2013 lúc 7:17Jan 5, 2013 at 7:17

Hướng dẫn how to check if php function is working? - làm cách nào để kiểm tra xem chức năng php có hoạt động không?

2

Có vẻ như bạn cần một "Mutex". Bạn có thể thử sử dụng điều này hoặc tự thực hiện một tài nguyên được chia sẻ, chẳng hạn như viết một tệp trống vào đĩa và sau đó kiểm tra sự tồn tại của nó và xóa nó khi bạn hoàn thành.

Một giải pháp tốt hơn cho vấn đề cụ thể của bạn mặc dù sẽ là thiết lập một công việc cron để định kỳ chạy các tập lệnh bảo trì cơ sở dữ liệu của bạn thay vì dựa vào các yêu cầu người dùng ngẫu nhiên vào trang của bạn. Điều này sẽ đảm bảo nó sẽ không chạy quá thường xuyên và giảm xử lý cho mỗi yêu cầu.

Đã trả lời ngày 5 tháng 1 năm 2013 lúc 7:24Jan 5, 2013 at 7:24

mpenmpenmpen

263K261 Huy hiệu vàng820 Huy hiệu bạc1202 Huy hiệu đồng261 gold badges820 silver badges1202 bronze badges

2

Cho PHP:

 $Running = false;

   function functionName() {
    if (!$Running) {
        $Running= true;

        //Your logic implementation here

        $Running= false;
     }
  }

Bạn cũng có thể sử dụng cùng một nguyên tắc cho các chức năng jQuery và cron công việc quá.

Đã trả lời ngày 15 tháng 3 năm 2016 lúc 5:51Mar 15, 2016 at 5:51

Hướng dẫn how to check if php function is working? - làm cách nào để kiểm tra xem chức năng php có hoạt động không?

Anil Guptaanil GuptaAnil Gupta

1,5051 Huy hiệu vàng19 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge19 silver badges20 bronze badges

Sử dụng thử bắt

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}

Đã trả lời ngày 25 tháng 7 năm 2018 lúc 1:07Jul 25, 2018 at 1:07

(Php 4, Php 5, Php 7, Php 8)

function_exists - return true Nếu hàm đã cho đã được xác địnhReturn true if the given function has been defined

Sự mô tả

function_exists (chuỗi $function): bool(string $function): bool

Thông số

function

Tên chức năng, như một chuỗi.

Trả về giá trị

Trả về true nếu function tồn tại và là một hàm, false khác.true if function exists and is a function, false otherwise.

Ghi chú::

Hàm này sẽ trả về false cho các cấu trúc, chẳng hạn như bao gồm_once và Echo.false for constructs, such as include_once and echo.

Ví dụ

Ví dụ #1 function_exists () Ví dụfunction_exists() example

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>

Ghi chú

Ghi chú::

Hàm này sẽ trả về false cho các cấu trúc, chẳng hạn như bao gồm_once và Echo.

Ví dụ

  • Ví dụ #1 function_exists () Ví dụ
  • Ghi chú
  • Tên hàm có thể tồn tại ngay cả khi chính hàm không thể sử dụng do cấu hình hoặc biên dịch các tùy chọn (với các hàm hình ảnh là một ví dụ).
  • Xem thêm
  • Phương thức_Exists () - Kiểm tra xem phương thức lớp có tồn tại không

is_callable () - Xác minh rằng một giá trị có thể được gọi là hàm từ phạm vi hiện tại.

GET_DEFINED_FINSTS () - Trả về một mảng của tất cả các hàm được xác định

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
0

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
1

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
2

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
3

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
4

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
5

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

class_exists () - kiểm tra xem lớp có được xác định không

extense_loaded () - Tìm hiểu xem một tiện ích mở rộng có được tải không

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
7

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
8

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
9

true0

true1

true2

Chris tại Candm Dot Org Dot Uk ¶

1 năm trước

true3

true4

true5

true6

Kitchin ¶

10 năm trước

true7

true8

true9

$function0

$function1

$function2

$function3

$function4

$function5

$function6

$function7

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Michael tại Squilopople Dot Com ¶

1 năm trước

$function9

function0

function1

function2

Kitchin ¶

10 năm trước

function3

function4

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Michael tại Squilopople Dot Com ¶

7 năm trước

function6

function7

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Ayyappan dot ashok tại gmail dot com ¶

6 năm trước

function9

true0

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Bruceb ¶

10 năm trước

true2

true3

true4

true5

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Michael tại Squilopople Dot Com ¶

7 năm trước

true7

true8

true9

function0

Ayyappan dot ashok tại gmail dot com ¶

7 năm trước

function1

function2

function3

function4

function5

function6

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Ayyappan dot ashok tại gmail dot com ¶

6 năm trước

function8

function9

false0

false1

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Bruceb ¶

7 năm trước

false3

false4

false5

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Ayyappan dot ashok tại gmail dot com ¶

6 năm trước

false7

false8

false9

false0

false1

false2

false3

false4

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Bruceb ¶

10 năm trước

false6

function1

false8

Michael tại Squilopople Dot Com ¶

extense_loaded () - Tìm hiểu xem một tiện ích mở rộng có được tải không

false9

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
0

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
1

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Chris tại Candm Dot Org Dot Uk ¶

1 năm trước

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
3

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
4

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
5

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
6

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
7

if (function_exists('imap_open')) {
    echo 
"IMAP functions are available.\n";
} else {
    echo 
"IMAP functions are not available.\n";
}
?>
8

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Kitchin ¶

6 năm trước

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
00

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
01

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
02

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
03

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
04

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
05

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
06

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
04

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
08

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
09

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Bruceb ¶

Andi tại Splitbrain Dot org ¶

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
11

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
12

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
13

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
14

16 năm trước

6 năm trước

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
15

Bruceb ¶

Andi tại Splitbrain Dot org ¶

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
16

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
17

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
18

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
19

16 năm trước

6 năm trước

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
20

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
21

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
22

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
23

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
24

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
25

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Bruceb ¶

6 năm trước

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
27

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
28

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
29

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
30

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
31

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
09

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
33

function blah() {
 try {
 }
 catch(Exception $e) {
  echo 'Message: ' .$e->getMessage();
 }
}
6

Làm thế nào để một chức năng hoạt động trong PHP?

Bên cạnh các chức năng PHP tích hợp, có thể tạo các chức năng của riêng bạn ...
Một hàm là một khối các câu lệnh có thể được sử dụng nhiều lần trong một chương trình ..
Một chức năng sẽ không tự động thực thi khi tải trang ..
Một chức năng sẽ được thực thi bằng một cuộc gọi đến chức năng ..

Hàm __ trong PHP là gì?

__Function__ và __method__ như trong Php 5.0.4 là như vậy.__Function__ chỉ trả về tên của hàm.trong khi __method__ trả về tên của lớp cùng với tên của hàm.returns only the name of the function. while as __METHOD__ returns the name of the class alongwith the name of the function.

Có tồn tại trong PHP không?

Định nghĩa và sử dụng hàm isset () kiểm tra xem một biến được đặt, điều đó có nghĩa là nó phải được khai báo và không phải là null.Hàm này trả về đúng nếu biến tồn tại và không phải là null, nếu không nó sẽ trả về sai.The isset() function checks whether a variable is set, which means that it has to be declared and is not NULL. This function returns true if the variable exists and is not NULL, otherwise it returns false.

Hàm không xác định trong PHP là gì?

Kiểm tra mã: Hàm không xác định báo cáo các tham chiếu đến các chức năng không được xác định trong các tệp dự án, được cấu hình bao gồm các đường dẫn hoặc trong số các hàm được xác định trước PHP.Trong ví dụ sau, không xác định_function () không được xác định trong các tệp dự án và thư viện tích hợp.Reports the references to functions that are not defined in the project files, configured include paths, or among the PHP predefined functions. In the following example, the undefined_function() is not defined in the built-in library and project files.