Ja, prøv. Som sagt mener jeg ikke $dato er synlig inde i en klasse når den er deklareret udenfor, med mindre den er "hentet ind" via global eller en parameter (og det kan du kun i metoder, ikke i klassedefinitioner).
Et alternativ er at du kun erklærer variablen der og så sende filnavnet med når du kører din klasses constructor, som så kan tildele variablen den rigtige værdi.
Inde i din klasse har du en metode, som tager en parameter med - den parameter bruger du så i metoden til at sætte $log_file-variablen i din klasse til den rigtige værdi. Naturligvis skal det jo være den rigtige værdi du sender med, altså $dato (og hvis den metode kaldes fra en ANDEN metode, skal $dato være sat i den metode du kalder fra, enten via parameter, tildeling eller global).
Den alternative måde er at du først i metoden skriver global $dato, og så sætter den der - den linie gør at du kan tilgå $dato-variablen der findes udenfor din metode INDE i din metode. Det er samme princip, men to måder at gøre det på.
Den metode kan som nævnt passende være din klasses constructor (et eller andet sted skal du jo instantiere din klasse, så du kommer ikke uden om at kalde den).
Hvad med at lave en variabel, udenfor din klasse, der indeholder "$log_file1='log/smtp_' . $dato . '.log';" (denne streng virker, hvis du bare laver den uden for en klasse) Så inde i klassen sætter "var $log_file=var $log_file1;"
Du skal ikke sætte den som en var, når du sætter den uden for klassen. Men som det blev sagt tilligere, kan du ikke lave variablen, når du skal bruge din klasse
Når du skal bruge dit object, skriver du vel et eller andet sted $dinvar=new smtp_client(...). Hvis du nu tilføjer $dato som en ekstra parameter i det kald, og ændrer din constructor tilsvarende, så kan du jo sætte $log_file inde i klassen på samme måde som du må sætte $connection og $server.
Nej nej, den function, jeg har lavet, var blot for at vise dig at det virker hvis laver den variable der skal indeholde logdilnavnet, når du kalder din klasse:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.