vykonání PHP kódu v šabloně
- iru
- Člen | 110
ne nejede. To co je v databázi vypadá například takto:
<a href="/images/files/test-20208.doc" target="_blank">test vlozeni</a>
</p>
<?php
echo 'dsfasdas';
?>
<p>nejaky dalsi text</p>
Jde o to, že si uživatel potřebuje na různá místa vkládat krátké php kódy, které budou vypisovat určitá data, ale jejich pozice není předem daná a musí být umístitelná kamkoli do textu.
- David Matějka
- Moderator | 6445
opravdu potrebujes mit v databazi ulozeny php kod? neni to zbytecny bezpecnostni riziko?
Co konkretne ten php kod ma delat?
- David Matějka
- Moderator | 6445
nebude ti stacit nejaky jednoduchy placeholder nahrazeny pres preg_replace_callback?
neco jako
preg_replace_callback('~{(?<name>\w+)}~', $source, function($match) {
if ($match['name'] === 'xml') {
return $this->fetchXml();
}
});
PHP kod v databazi by mel byt vzdy az to krajni reseni
- Myiyk
- Člen | 321
Databáze je na uložení dat a PHP na samostatný program. Pokud potřebuješ mít program uložen v databázi, tak je něco špatně.
Klasické nahrazování textů můžeš udělat jak psal @DavidMatějka.
Pokud chceš nějaké věci např. s externí službou, tak si na to udělej komponentu a nastavení v další tabulce nebo nějaké tabulce na nastavení. To vidím jako čisté řešení.
- iru
- Člen | 110
Myiyk já si na to nemůžu udělat komponentu, ten kód nebudu psát já, tudíž nevím jaký kód tam bude, já mám jan za úkol ho tam umožnit vložit do libovolného místa (jiného textu, který sama také tvořit nebudu)
ale s tím co píšeš mě napadá, že bych místo kódu tam mohla uložit něco zástupného a to pak nahradit kódem, který dám jinam
Editoval iru (31. 7. 2015 14:25)
- Pavel Kravčík
- Člen | 1195
A co mu dát omezený FTP přístup a includovat jeden soubor.php, který on bude moci měnit?
- Pavel Kravčík
- Člen | 1195
iru napsal(a):
kzk_cz napsal(a):
A co mu dát omezený FTP přístup a includovat jeden soubor.php, který on bude moci měnit?
je to jeho server, má přístup ke všemu :-)
a bude se jednat o více různých skriptů na různých místech…
V tom případě by mě opravdu zajímal nějak konkrétní příklad až to bude hotové. :)
- llook
- Člen | 407
iru napsal(a):
kzk_cz napsal(a):
A co mu dát omezený FTP přístup a includovat jeden soubor.php, který on bude moci měnit?
je to jeho server, má přístup ke všemu :-)
a bude se jednat o více různých skriptů na různých místech…
Když má přístup ke všemu, tak by mohlo jít použít něco podobného (ale nezkoušel jsem to):
ini_set('allow_url_include', 1);
file_put_contents('php://memory', $data);
require 'php://memory';
ini_set('allow_url_include', 0);