Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Luokka ei näe aamua?

pistemies [27.04.2011 05:37:29]

#

Mistä tämmöinen virheilmoitus mahtaa kertoa?

Catchable fatal error: Object of class Link_title_text could not be converted to string

Miten testaamalla tuota virhettä voisi etsiä?
Luokka on rakenteeltaan sellainen, että se jakaa pitkän merkkijonon kahdeksi riviksi. Kullakin rivillä saa olla määrätyn verran kirajaimia, rivin katkaisu tapahtuu jonkin välimerkin tai sanavälin kohdalta. Jos toinenkin rivi on ylipitkä, se katkaisee sen viimeisen sanan (joka sopii tuohon maksimimäärä kirjaimia 1 riville) jälkeen.
Lisäksi luokka muuttaa ylimääräiset isot kirjaimet pieniksi siten että kunkin sanan eka-kirjain saa olla iso (jos sivullakävijä on sen niin kirjoittanut) mutta ei muut. Tämä siksi että lukuisat suuret kirjaimet pitentävät riviä siitä, mitä sen pituus muuten olisi tuolla kirjainmäärällä, jonka olen riviä kohti asettanut.

Mutta kohta tässä on aamukahvin aika.

makumaku [27.04.2011 06:57:19]

#

Mikä kieli? PHP?
Eikö virheessä ollut tietoa missä se esiintyi, eli tuon perässä jotain:
"... in polku/tiedosto.php on line x" ?
Asetetaanko tuossa jotain session tietoa?
Koodi voisi vähän auttaa.

pistemies [27.04.2011 08:15:13]

#

PHP.
Ei ilmoita mitään rivinumeroa eikä ole sessionia.
Ryhdyn nyt testaamaan tuota yksi metodi kerrallaan - kopioimalla siitä metodista tavallisen funktion tai jopa palottelemalla sitä osiin jos on tarve..
Ei kukaan jaksa lukea suurta koodia... katsotaan jos löydän missä kohtaa on vika, kun testailen..

Teuro [27.04.2011 08:38:55]

#

Eli tällainen koodi toimii odotetusti.

<?php
class Luokka {
    private $mjono;

    public function __construct() {
        $this->mjono = "Luokka";
    }

    public function __toString() {
        return $this->mjono;
    }

};

$e = new Luokka;

echo $e;
?>

Mutta jos tuosta poistat Luokka::__toString() metodin, niin antaa juuri tuon kuvaamasi virheen.

pistemies [27.04.2011 11:35:13]

#

Kiitos!
Nyt tämä toimii niinkuin on tarkoituskin...
Mutta oli hyötyä tuosta muusta testistä, löytyi muutama pikku bugi, jonka vuoksi $this->string muuttuja oli tyhjä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta