Kontrollera om class finns i PHP

» »

Publicerad i PHP den

Undvik ett vanligt fel i PHP-utveckling genom att kontrollera om den klass (engelskans "class") med funktioner som du vill nyttja faktiskt finns innan du använder den.

Ett vanligt misstag när man kodar i PHP är att skriva kod som använder funktioner inom klasser, utan att för den delen kolla om de faktiskt finns. Det kanske låter självklart, men faktum är att många tar för givet att klasser man är beroende av alltid finns där.

Så är alltså inte fallet, och även om det är ovanligt att klasser försvinner kan det exempelvis röra sig om att du kör dina PHP-applikationer på ett delat webbhotell som har många olika kunders behov att tillgodose — skulle din klass vara allt för resurskrävande skulle den kunna inaktiveras, och då sitter du där med skägget i brevlådan när hela din plattform stannar.

Kontrollera om class finns

Hur gör man då för att kontrollera om en class finns när man skriver PHP-kod? Som tur är finns det en funktion som är rakt på sak och dessutom har ett intuitivt namn; class_exists().

Funktionen class_exists() ger dig svar i formen av true eller false beroende på om din klass är tillgänglig eller inte, och du använder det i en if-sats i PHP, exempelvis så här;

if (class_exists(webbhotellClass)) {
    echo 'klass finns!';
}
else {
    echo 'klass finns inte';
}

Det viktiga här är att din PHP-kod tar informationen den får som svar i den här kontrollen och gör något annorlunda om din klass saknas. Om du försöker använda en funktion som ligger i en klass som inte finns kommer du även här få ett fel som är så pass allvarligt i PHP att hela applikationen stannar.

Inte teckenkänslig

Funktionen är inte teckenkänslig, vilket går i linje med den övriga hanteringen av klasser i PHP; det spelar ingen roll om du anger dem som myPhpClass eller MYPHPCLASS — PHP kommer ändå veta vilken klass du menar.

Skulle du däremot ha en som heter samma sak så blir det så klart en krock, så kom ihåg att namnen på dina klasser måste vara helt unika, och inte bara sett till stora och små bokstäver.

Populära klasser i PHP

Det finns mängder med tredjepartsklasser i PHP, som är vanligen förekommande hos bra webbhotell och där du ofta kan välja själv precis vilka klasser du vill ha som tillägg på ditt konto.

Några väldigt populära klasser är exempelvis;

  • Autentiseringsmetoden OAuth
  • Stöd för andra databastyper som MongoDB och PostgreSQL
  • NoSQL-modulen Redis
  • Kodcache med OPCache
  • Bildhantering med imagick
  • Stöd för hantering av .zip-filer med zip
  • PDF-hantering med pdf-klassen

Som ni märker finns det många olika varianter, och vid alla dessa är det viktigt att komma ihåg att om du är beroende av funktioner och kod i dessa klasser så måste du även ha funktioner som kontrollerar status och gör undantag om klasserna skulle saknas när din kod exekveras.

Välj själv

Hos exempelvis Inleed väljer du själv i deras Direct Admin-kontrollpanel vilka tillägg du vill ska vara aktiva eller inaktiva.

Här kan det både röra sig om vilka moduler du behöver, men också vilka du inte behöver — vill du spara på kraften på ditt webbhotellkonto kan du enkelt inaktivera allt du faktiskt inte behöver.


Detaljer

  • Titel: Kontrollera om class finns i PHP
  • Publicerad:
  • Skribent:
  • Kategorier: PHP

Populära inlägg

Här hittar du de mest besökta artiklarna den senaste tiden.

Populära tjänster

Webbhotell

Inleed Special

29 kr / mån

  • Utrymme: 10 GB
  • Trafikmängd: 250 GB
  • Gratis SSL-certifikat: Ja
  • Startavgift: 0 kr

Virtuell server

Inleed VPS #1

199 kr / mån

  • Antal CPU-kärnor: 1 st
  • Minne: 8 GB
  • Utrymme: 100 GB
  • Trafikmängd: 3000 GB

Dedikerad server

Inleed Server #1

499 kr / mån

  • Antal CPU-kärnor: 2 st
  • Minne: 8 GB
  • Utrymme: 500 GB
  • Trafikmängd: 3000 GB

Backuphantering

Inleed Backup 100

19 kr / mån

  • Utrymme: 100 GB
  • Trafikmängd: 3000 GB
  • Startavgift: 0 kr

Domänhantering

Inleed DNS

0 kr / mån

  • Antal domännamn: Obegränsat

Co-location

Inleed Rackserver 1U

299 kr / mån

  • Trafikmängd: 3000 GB
  • Anslutning: 1000 Mbit/s
  • Reservström: UPS + Diesel
  • Startavgift: 0 kr

VPN-tjänster

NordVPN

33 kr / mån

  • Anslutningar: 6 st
Bäst webbhotell just nu
VPN-tjänster Pris Anslutningar
OVPN 49 kr 4 st
Inleed VPN 29 kr 2 st
NordVPN 33 kr 6 st
Ivacy VPN 22 kr 10 st

Vill du ha hjälp?

Ibland kan det vara svårt att göra ett val. Har du fortfarande inte hittat den information du söker, eller undrar du över något som saknas på sidan? Hör av dig till oss så hjälper vi dig!

Kontakta oss