PHP Magic Constants: __LINE__, __FILE__, __DIR__, __FUNCTION__, __CLASS__, __METHOD__, and __NAMESPACE__

I’ve been using __FILE__ for years, but I never thought to look for its siblings.

echo ' line:'. __LINE__ .' file:'. __FILE__ .' directory:'. __DIR__ .' function:'. __FUNCTION__ .' class:'. __CLASS__ .' method:'. __METHOD__ .' namespace:'. __NAMESPACE__;

I feel as though I should have noticed these earlier; they’re clearly referenced in the docs for debug_backtrace(), after all.

Determining Paths and URLs In WordPress 2.6+

WP 2.6 allows sites to move the wp-content directory around, so plugin developers like me can’t depend on them being in a predictable location. We can look to the WP_CONTENT_DIR and WP_PLUGIN_DIR constants for answers, but a better solution is likely to use the X_url() functions. The most useful of those is likely to be plugins_url(). Even better, you can give these functions a relative path and they’ll return a fully qualified URL to the item.