Hành động làm mọi việc. Bộ lọc sửa đổi mọi thứ. Bạn thực hiện công cụ trong một hành động, trong khi nếu bạn áp dụng bộ lọc, bạn không mong đợi bất kỳ sự kiện hoặc hành động nào xảy ra, ngoài việc sửa đổi giá trị bạn đang lọc. ví dụ: Không thể gửi email hoặc lưu giá trị DB trong bộ lọc, nhưng trong một hành động thì không sao. Có thể có những khoảnh khắc hiếm hoi khi bạn cần vi phạm quy ước này nhưng nó là một điều hữu ích và cần thiết.
Bằng cách thay thế tất cả add_action
và do_action
các cuộc gọi bằng các đối tác bộ lọc của chúng, bạn loại bỏ sự khác biệt và buộc kiến thức về các tên wether như 'the_content'
vv là những hành động hoặc bộ lọc ra khỏi thế giới và vào bộ nhớ của bạn, khuyến khích những sai lầm.
Vì vậy, thay vì làm cho mã của bạn khó đọc hơn, hãy nhận ra rằng nếu mã của bạn chậm, thì đó không phải là vì bạn đã không thực hiện một hoặc hai lệnh ở đây và đó, đó là máy chủ chậm của bạn hoặc cấu trúc thuật toán của mã của bạn và bản chất của dữ liệu được xử lý. Bạn sẽ nhận được nhiều hơn từ việc tái cấu trúc các quy trình của mình, nâng cấp phần cứng hoặc thay đổi mô hình của bạn. Trong lược đồ lớn, một trang web chậm rất có thể chậm vì nó thực hiện rất nhiều hoặc có các truy vấn được viết xấu, ví dụ: các truy vấn bài đăng dựa trên meta hoặc __not_in
truy vấn loại
Để đưa nó vào quan điểm, khi WordPress chạy, PHP thực hiện hàng triệu hướng dẫn. Các hành động hoán đổi cho các bộ lọc sẽ hầu như không biến thành một phần trăm của phần trăm hàng đầu.
http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster
Tôi đã thử cài đặt Wordpress mới. Kịch bản tạm dừng trước khi kết thúc bằng "Lỗi xe buýt" trên máy tính xách tay của tôi, nhưng số lượng mã đã ở mức hơn 2,3 triệu . Đủ nói.
Nếu bạn thực sự muốn thử, hãy xem cách anh chàng sử dụng VLD và tự mình kiểm tra lý thuyết của bạn.