Terve taas!
Olen kehittämässä itselleni sivustonhallintajärjestelmää, josta tulisi kevyt versio WordPressista. Ohjelmalla voisi luoda sivuja, kirjoittaa artikkeleita ja hallita sivuston käyttäjiä ja kävijöitä. Nyt olen saanut artikkeleiden kirjoittamisen valmiiksi, mutta muiden sivujen toteutus on vähän ongelma. Artikkelit säilötään tietoineen tietokannassa, eivätkä ne voi sisältää PHP-koodia. Muut sivut ovat kumminkin ihan vapaasti käyttäjän kirjoitettavissa, joten ne voivat sisältää kaikkea palvelimen tukemaa tavaraa. Mietimpähän vain, että miten niitä pitäisi säilyttää. Jos pidän niitä tietokannassa, joudun ajamaan ne eval-funktion kanssa.
Muutenkin jos olisi vinkkejä tämmöisen tekemiseen, niin kuulisin niitä mielelläni. PHP:llä on tullut tehtyä ennenkin erilaisia sovelluksia, mutta tästä tulisi ehdottomasti suurin. Joku voi ajatella, että miksi en käytä WordPressia, kun se on valmis ja sisältää toiminnot jotka edellä mainitsin. Siihen on moniakin syitä, mutta yksi vahva syy on se, että oman tekeminen toisi lisää osaamista PHP-taidoissa.
PHP:n käyttö artikkelissa ei kuulosta kovin hyvältä idealta, silloin on helppo rikkoa koko sivu artikkelin sisällöllä, mikä ei minusta vastaa sisällönhallintajärjestelmän perusideaa. Muista ainakin tehdä systeemi niin, että viallinen (syntaksivirheinen) artikkeli tunnistetaan ja jätetään näyttämättä, jottei sivusto pahimmassakaan tapauksessa kaadu.
Voit käyttää evalia tai väliaikaistiedostoja, tai voit säilyttää sisällöt täysin tiedostoissa. Tietokantaa kannattaa joka tapauksessa käyttää metadatan säilömiseen.
Ymmärsit nyt väärin. Juuri artikkeleissa sitä ei voi käyttää, mutta voihan sivulla olla muutakin kuin se blogi. Näitä muita sivuja pitäisi pystyä myös tekemään ohjelmalla, ja ne saisivat sisältää PHP:tä.
Ajattelin, että voisin tehdä niin, että muut sivut tallennettaisiin omina tiedostoinaan johonkin alihakemistoon josta niitä sitten haettaisiin mainitsemasi metadatan mukaan tietokannasta.
Macro: ai että tietokannassa olisi esim. solu nimeltä "template" ja sen arvo voisi olla esim. "product", jolloin käytettäisiin "product.php" -tiedostoa sivun tulostukseen selaimelle?
Jotain sellaista ajattelin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.