Onko mahdollista tehdä sellaista include() / require() operaatiota joka ei koita parseroida mukaan html:aa vaan joka toimisi ennenkaikkea vain ja ainoastaan php:n funktio/muuttuja-kirjastona?
Minua hämää aivan älyttömästi noiden funktioiden ominaisuus jossa esim. tagien ulkopuolelle jäävä koodi tulostuu myös html:aan. Saako jollain keinolla kaiken muun suljettua includeista pois kuin erikseen merkityn php-koodin?
Minua hämää aivan älyttömästi noiden funktioiden ominaisuus jossa esim. tagien ulkopuolelle jäävä koodi tulostuu myös html:aan. Saako jollain keinolla kaiken muun suljettua includeista pois kuin erikseen merkityn php-koodin?
Vastaukset 5
Vanhimmat
*Onko mahdollista tehdä sellaista include() / require() operaatiota joka ei koita parseroida mukaan html:aa vaan joka toimisi ennenkaikkea vain ja ainoastaan php:n funktio/muuttuja-kirjastona?*
On. includellahan lisää vain x tiedoston sisällön siihen kohti missä sitä on käytetty, sisällöstä riippuu mitä tapahtuu.
Tiedostohan kannattaa hajottaa moniin osiin, ihan selvyydenkin takia sekä näin vältytään turhalta toistoltakin.
kirjoitat includetettavaan tiedostoon vain php tagit ja niiden sisään ihan normaalisti functiot/muuttujat jne....
* tagien*
Käytä vältyt ongelmilta. Kaikissa paikoissa ei ole tuettu noita lyhkäsiä tageja, hyvä niin.
*Saako jollain keinolla kaiken muun suljettua includeista pois kuin erikseen merkityn php-koodin?*
Hmmm en oikein ymmärrä kysymystä, tarkentaisitkos?
Functioitahan voi olla vaikka kuinka monta, mutta vain niiden koodi tulkataan mitä kutsut.
Ongelma on lähinnä periaatteellinen ... koodaan aina defensiivisesti ja virheitä minimoiden. Kuitenkaan nuo includet eivät suojaa sitä vastaan että jos php-koodia ennen tai sen jälkeen jää vaikka enterinpainalluksia jotka eivät näy editorissa niin nehän heijastuvat kuitenkin syötteeseen.
Vaikka virhettä en tekisi minä niin sen saattaa tehdä joku joka käyttää koodiani myöhemmin. Koska php:tä käytetään myös esim. datalähteenä niin silloin tämä "dokumentoimaton ominaisuus" saattaa luoda virheitä joita on hyvin vaikea ratkoa. Itseasiassa näin on itselleni jo tapahtunut...
Jos on/olisi olemassa esim. library() funktio joka lisää vain ja ainoastaan php-sisällön ohjelmaan olisi tuon funktion käyttö järkevämpää kun koodataan kirjastoja hyväksikäyttävää toiminnallisuutta palastelevaa softaa.
>>Jos on/olisi olemassa esim. library() funktio joka lisää vain ja ainoastaan php-sisällön ohjelmaan olisi tuon funktion käyttö järkevämpää kun koodataan kirjastoja hyväksikäyttävää toiminnallisuutta palastelevaa softaa.
Juu ja sitten evalin avulla tulkkauttaa tuo php koodi ;) Siitä on sitten kaukana tehokkuus.
Mites olis, tekisit scriptin joka poistaisi nuo ylimääräset enterit ja sitten tallettaisi sen tiedoston.
Eipä tietääkseni taida php:ssä olla valmista functiota tuohon. Olishan tuommonen kätevä.
Myönnän että tuo juttu on aiheuttanut itsellenikin ongelmia. Eikä tuommosta löydä todellakaan helposti, varsinkin kun ensinmäisen kerran ilmenee.
jos ongelmana on whitespace php tiedostojen lopussa, aloita includettavat tiedostot normaalisti kokonaan pois. Toimii 100%