JACCESSRULE-CLASS-001

JAccessRule

JAccessRule class name

JAccessRule is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JAccessRule" not found.

JAccessRuleJoomla\CMS\Access\Rule

Dies at Joomla 5 → 6J3: Works nativelyJ4: Alias (old name still resolves)J6: Removed — fatalBC plugin: covers the class nameMechanical renameJoomla API

What you will see

  • Class "JAccessRule" not found
  • Class 'JAccessRule' not found
  • Failed to open stream: JAccessRule

Symptoms people search

white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility

Replace this code

Swap JAccessRule for Joomla\CMS\Access\Rule.

Joomla 3

Remove or stop calling this

JAccessRule::getInstance();
// or new JAccessRule()

Joomla 4 / 6

Use this instead

use Joomla\CMS\Access\Rule;

// Call the namespaced class. Do not keep the J prefix.

How to fix it

  1. 1Add a use statement for Joomla\CMS\Access\Rule.
  2. 2Replace every JAccessRule with the short class name from that use line.
  3. 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.

Also known as

JAccessRule · Joomla\CMS\Access\Rule · class alias · J prefix · JRule

Related issues

Get in touch

Have a project in mind? Let's talk about it.

Tell us what you're building. Whether it's a new site, an online store, a mobile app, or something that needs AI under the hood, we'll get back to you within a business day.

Free consultation
No commitment, no pressure
Reply within 24 hours
Usually much faster

Prefer a direct conversation?

Request a project quote

Tell us about your project

Fill out the quick form and we'll reach out.