Mam určitou třídu, která se stará o zprostředkování MySql připojení.
Dostal jsem se do situace kdy, jsem potřeboval z mé třídy volat public non-static metodu ze statické. To jsem ale vyřešil, ale vlastně jsi nejsem úplně jistý, jak danný kod funguje.
Původní kod byl následující, samozřejmě s chybovou hláškou že nemůžu volat ze staticé funkce, funkci non-static. (Ještě předtím jsem to zkoušel s klíčový slovem $this->, místo self, a význám těchto keywordů znám).
<?php
class MySQLHander
{
...
public Connection()
{...}
public static function TestQuery()
{
return self::Connection()->query('SELECT `Charset`, `Title` FROM `Page`')->fetch_object()->Charset;
}
Pomocí inspirace z jiné třídy, jsem narazil na řešení s proměnou $Instance, která slouží jaký si "zpřostředkovatel" (osobně si to tak vysvětluji) , mezi statickou ---> (a) public non-static funkcí.
Moje otázka zní je to řešení tak nějak správné, či validní, neudělá to v kodu nějaký "bordel" ?
Taky by bylo dobré zda by mě někdo vysvětlil, či nasměroval na odpověď, co jsem tou úpravou vlastně udělal.
Díky za spolupráci.