How to override Core class in v8

Permalink 1 user found helpful
Hi. I need to extend class Concrete\Core\Sharing\ShareThisPage\Service. Actually, i need to override method getServiceIconHTML().
How can I do that?

View Replies:
ThomasJ replied on at Permalink Reply
ThomasJ
I need to know where the core classes are hidden also. Come on people doesn't anyone know? This post has gone unanswered for 11 months. Any guess would be appreciated.
ThomasJ replied on at Permalink Reply
ThomasJ
Okay, I think this is a little to late to help Permalink but I found this c5 tutorial that will be helpful in studying this issue.
https://documentation.concrete5.org/developers/extending-concrete5-w...
It is a tutorial exactly on (I think) this topic.
I still only have a superficial understanding as to how the authors created name-spacing in c5 but as I see it, it is one of the more complex/overkill methodologies that they instilled in their new creation. I have to admit, c5.8 is a creation of pure genius but the reality is, it has gotten to complex to be of practical use.
mnakalay replied on at Permalink Reply
mnakalay
Because Concrete5 is using a lot of Laravel in the background, overriding can also take advantage of Laravel's Service Container with methods like bind() extend() and others that allow you to modify classes as you need them. A good understanding of Laravel is helpful though.

Here's some helpful doc:https://laravel.com/docs/5.5/container...

It is more complex than the normal Concrete5 folder override but offers more possibilities.

Oh and core classes are in concrete/src.

Every time you see "Concrete\Core" in a class namespace, it means it's in the "concrete/src" folder
ThomasJ replied on at Permalink Reply
ThomasJ
Thank you very much for this. I will look at it and hopefully get a better understanding of c5's construction.