Hjäp med PHP - Non-static method should not be called statically

Permalänk
Medlem

Hjäp med PHP - Non-static method should not be called statically

Försöker få igång ett gammalt cms som ger errors med nyare versioner av php (5.4+)

Error

Non-static method Load::library() should not be called statically

Så antar att problemet ligger här men vet inte hur jag ska göra

//Autoload configs and libraries Load::library('config'); Base::autoload();

Någon som kan rätta detta? Funkade som det skulle med 5.1
Tacksam för hjälp

Permalänk
Medlem

Du behöver skapa något som håller objektet du kan inte calla det direkt.

Visa signatur

AW3423DW QD-OLED - Ryzen 5800x - MSI Gaming Trio X 3090 - 64GB 3600@cl16 - Samsung 980 Pro 2TB/WD Black SN850 2TB

Permalänk
Medlem
Skrivet av celoz:

Du behöver skapa något som håller objektet du kan inte calla det direkt.

Har testat och sökt men får det inte att fungera tyvärr Hur skulle jag kunna göra det på ett korrekt sätt?
Känns bättre att lösa det än att göra en fullösning al'a nedgradering till 5.1 men mina kunskaper är ytterst begränsade

Permalänk
Medlem
Skrivet av Cudage:

Har testat och sökt men får det inte att fungera tyvärr Hur skulle jag kunna göra det på ett korrekt sätt?
Känns bättre att lösa det än att göra en fullösning al'a nedgradering till 5.1 men mina kunskaper är ytterst begränsade

Du kanske ska börja med att berätta vilket gammalt CMS det rör sig om.
OM nu koden var korrekt för en äldre version av PHP är nog risken stor att du kommer få ännu fler felmeddelanden efter du "rättat" den koden du nu får fel på.

Permalänk
Medlem

Du kan inte kalla på metoden Load::library() utan att ha en instans av Load. Hade den varit static deklarerad hade du kunnat anropa den. http://php.net/manual/en/language.oop5.static.php

Edit: Det verkar gå, men är deprecated och genererar varning beroende på error_reporting()

Permalänk
Medlem
Skrivet av iXam:

Du kanske ska börja med att berätta vilket gammalt CMS det rör sig om.
OM nu koden var korrekt för en äldre version av PHP är nog risken stor att du kommer få ännu fler felmeddelanden efter du "rättat" den koden du nu får fel på.

Jag har tyvärr inget namn på det CMS:et då det är ett 5-6år gámmalt system en snubbe på ett forum för privatservrar knackat ihop på sin fritid lagt upp och originaltråden inte längre finns kvar då forumet uppdaterats sen dess
Var en spanjor som hört av sig och ville få igång ett template till den som jag designat för länge sedan hehe Internet kan bjuda på oväntade överrraskningar

Permalänk
Medlem
Skrivet av trexake:

Du kan inte kalla på metoden Load::library() utan att ha en instans av Load. Hade den varit static deklarerad hade du kunnat anropa den. http://php.net/manual/en/language.oop5.static.php

Edit: Det verkar gå, men är deprecated och genererar varning beroende på error_reporting()

Tackar så mycket för era svar Vilka skador teoretiskt skulle ske om jag då justerar error_reporting att inte rapportera strict errors eller använder mig av en tidigare php?
För som ovanstående nämnt kommer det säkert vara en hel del andra liknande problem med kodningen om jag nu rättar till den biten.

Lyckas inte få ordning på det med min fulkodning och tar just nu för mycket energi då man för tillfället enbart har vänster hand att skriva med pga fraktur hehe
Känns som att det enklaste blir att strunta i det hela och istället lägga tiden på att förbättra min PHP genom att läsa på så att man inte är lika förvirrad på hur uppbyggnaderna ska vara