Tùy biến luôn là một hòn đá vấp ngã (quá trình đau đớn). Từ một phía chúng tôi có một yêu cầu thực sự (vấn đề) từ người dùng luôn luôn quan trọng. Mặt khác, tất cả các tùy chọn bổ sung này có thể biến chủ đề đáng yêu, plugin hoặc một số sản phẩm trừu tượng của bạn thành địa ngục. Vậy chúng ta có thể làm gì với tư cách là một nhà phát triển?
Đầu tiên. Viết mã mở rộng với cơ hội thay đổi một số đoạn mã của bạn - mã có thể sử dụng lại. Các lớp, giao diện, đặc điểm và chỉ tách mã sai dài thành các phương thức (hàm) nhỏ. Một số người dùng có thể dễ dàng sử dụng chúng mà không cần thay đổi sản phẩm của bạn. Ví dụ: ai đó có thể tạo một tiện ích với nhu cầu của riêng mình và sử dụng chức năng plugin nội bộ please_echo_the_plugin_awesome_stuff()
.
Thêm các bộ lọc và hành động mới không phải là ý tưởng tồi . Nhiều plugin phổ biến như Jetpack hoặc bbPress có hàng trăm bộ lọc bên trong mã của chúng. Đôi khi còn quá mức. Mỗi bộ lọc mới (hoặc hành động) mà không có bất kỳ trình xử lý nào thường không thực hiện một chi phí lớn. Đó là một phần triệu giây.
10 ^ −3 s mili giây ms 10 ^ −6 s micrô giây
Quan trọng hơn nhiều là những gì bạn đang làm đối với hành động này bằng cách thêm các trình xử lý mới thông qua add_action()
hoặc add_filter()
. Ví dụ: yêu cầu đến máy chủ cơ sở dữ liệu (đôi khi không rõ ràng, như nhận tùy chọn không tự động tải bằng cách get_option()
). Và bạn có thể đo nó. Ví dụ đơn giản nhất:
$start = microtime(true);
// Do some stuff here
$end = microtime(true);
echo $start, PHP_EOL, $end, PHP_EOL, $end - $start, PHP_EOL,
Nó là rất đơn giản và đôi khi kỹ thuật phù hợp nhất để hồ sơ mã của bạn. Nhân tiện, WordPress có "đồng hồ bấm giờ" nội bộ, thanh toán timer_start()
và timer_stop()
.
Hoặc bạn có thể sử dụng XDebug. Nó có vẻ rất phức tạp để cấu hình. Nhưng bạn có thể sử dụng VVV hoặc bất kỳ máy chủ sẵn sàng hoạt động nào khác. Tất cả chúng đều đã được cấu hình đúng Xdebug và bạn chỉ có thể sử dụng nó - nghe thật tuyệt phải không?. Nếu bạn đang sử dụng VVV, chỉ cần nhấn vài lệnh:
vagrant ssh
xdebung_on
Đó là tất cả! Chuyển sang IDE của bạn và hồ sơ mã của bạn. Hoặc sử dụng các dịch vụ nội bộ của VVV như WebGrind. Thông tin thêm về các kỹ thuật này bạn có thể tìm thấy tại Code Debugging Wiki . Cần nhớ rằng việc sử dụng Xdebug có ảnh hưởng đến hiệu suất, nhưng bạn có thể tìm thấy mã chậm (nút cổ chai).
Và thứ ba. Điều cuối cùng. Triết lý WordPress là Quyết định, không phải Tùy chọn .