× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

Fatal error: Cannot declare class - Joomla 3.7

6 years 11 months ago #1575 by Søren Beck Jensen
Replied by Søren Beck Jensen on topic Fatal error: Cannot declare class - Joomla 3.7
Thank you for that update. I think what happened was that your component was built using Component Creator before we added the auto loader (that now broke). If that is the case, you may have to include it yourself as described.

Søren Beck Jensen
Founder, Component-Creator.com

Please Log in or Create an account to join the conversation.

6 years 11 months ago #1576 by Gosling Cools
Replied by Gosling Cools on topic Fatal error: Cannot declare class - Joomla 3.7
I want 3 beers as well! ;-)
The following user(s) said Thank You: Søren Beck Jensen

Please Log in or Create an account to join the conversation.

6 years 11 months ago - 6 years 11 months ago #1577 by Carl Willingham
Replied by Carl Willingham on topic Fatal error: Cannot declare class - Joomla 3.7
N.A.
Last edit: 6 years 11 months ago by Carl Willingham. Reason: Found the issue

Please Log in or Create an account to join the conversation.

6 years 11 months ago - 6 years 11 months ago #1578 by Randy Carey
Replied by Randy Carey on topic Fatal error: Cannot declare class - Joomla 3.7

Can you please tell us which change in Joomla 3.7 caused this and any other compatibility break?

Joomla 3.7 introduced a new check that prevents two classes to have the same name (even though the documentation still says the two should be named the same way)


I see that core has named its admin helper class differently, of this pattern: ExampleHelper instead of ExampleHelperExample or ExampleHelperExampleadmin.

Further, I discovered a new dependency upon this naming pattern for this class. In order to add the new custom fields feature to a component, a plugin expects a component's admin helper class to have certain functions available to it, and it expects that helper class to follow the naming pattern: ExampleHelper. I discovered this when trying to add the new custom fields feature to an extension that I newly created with ComponentCreator. I was able to get the new feature to work (within the CC-created extension) by creating the needed helper class (ExampleHelper), adding the new functions used by custom fields, and having it extend the CC-created helper class (ExampleHelperExampleadmin).

I do not know all the details that led CC to choose the solution it did (ExampleHelperExampleadmin), but from what I'm seeing, this file/class name seems to stray from the "core" approach, and I suspect it will cause problems should anyone want to add the custom fields feature to a CC-created component. I may be wrong, and if so, please correct me. But I do want to give you a "heads up" to what I think I'm seeing.
Last edit: 6 years 11 months ago by Randy Carey.
The following user(s) said Thank You: Søren Beck Jensen

Please Log in or Create an account to join the conversation.

6 years 11 months ago #1579 by Søren Beck Jensen
Replied by Søren Beck Jensen on topic Fatal error: Cannot declare class - Joomla 3.7
That is some good investigation there. We are looking into it. It is strange as "ExampleHelper" does not follow the standard Joomla naming convention for the JLoader and so custom fields have implemented this incorrectly it seems. But as I said... let us investigate this properly and get back to you.

Good work!

Søren Beck Jensen
Founder, Component-Creator.com

Please Log in or Create an account to join the conversation.

6 years 11 months ago - 6 years 11 months ago #1581 by Søren Beck Jensen
Replied by Søren Beck Jensen on topic Fatal error: Cannot declare class - Joomla 3.7
Using only "ExampleHelper" breaks the auto loader functionality in Joomla so we recommend instead to add the lines:
// Ensure custom fields compatibility
class ExampleHelper extends ExampleHelpersExampleadmin {}

To the bottom of your helper file if you are using custom fields.

Søren Beck Jensen
Founder, Component-Creator.com
Last edit: 6 years 11 months ago by Søren Beck Jensen.

Please Log in or Create an account to join the conversation.

Time to create page: 0.327 seconds
Powered by Kunena Forum

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.