Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

cách sử dụng hàm bên trong request_once

Trên thực tế, hãy hình thành một quan điểm kỹ thuật, bạn có thể sử dụng require_once() bên trong một hàm. Tuy nhiên, đó rất có thể là một ý tưởng tồi và không phải là điều bạn thực sự muốn làm:

  • bao gồm mã bên trong một hàm theo nghĩa đen bao gồm mã ở đó. Điều này có nghĩa là tất cả mã bao gồm được đánh giá bên trong phạm vi của hàm. PHP khai báo tất cả các hàm trên toàn cục, nhưng các biến và chuỗi mã thuần túy bị ràng buộc cục bộ, vì vậy không hiển thị bên ngoài hàm được thực thi ngay bây giờ.

  • vì bạn sử dụng một đường dẫn tương đối để tải tệp được bao gồm, bạn bị hạn chế thực thi chức năng của mình từ trong một cấp hệ thống tệp nhất định. Điều này giới hạn cách mã của bạn có thể được sử dụng ...

Trong khi đây thực sự có thể là những gì bạn muốn khi tệp được bao gồm chứa một số cấu hình cục bộ, bạn gần như chắc chắn sẽ vấp phải điều này:

  • require_once() chỉ yêu cầu một lần, đây là những gì chức năng có sẵn. Điều này có nghĩa là:nếu bạn nhập hàm getTierOne() nhiều lần sau đó cho mỗi lần chạy tiếp theo, require_once() đơn giản là sẽ không bao gồm bất kỳ mã nào, vì nó đã có trong lần chạy đầu tiên. Vì vậy, ướt hơn bạn có được bao gồm cấu hình của bạn hay không phụ thuộc vào! Đó là một thiết kế kinh khủng!

Vì vậy, hãy bao gồm cấu hình của bạn trên toàn cầu và ví dụ:lưu trữ nó bên trong một số biến mà sau đó bạn có thể tham chiếu đến bên trong hàm của mình hoặc bạn sử dụng require() hoặc include() để đảm bảo rằng cấu hình thực sự được bao gồm trong mỗi lần thực thi chức năng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java2MySQL> Lỗi liên kết giao tiếp do ngoại lệ cơ bản một lần nữa

  2. Làm thế nào để ngăn chặn mysqld

  3. Không thể tìm ra cách chạy mysqli_multi_query và sử dụng kết quả từ truy vấn cuối cùng

  4. Có thể truy vấn con trả về hai giá trị không?

  5. java.sql.SQLException:Không có cơ sở dữ liệu nào được chọn - tại sao?