Volání funkce
30. srp 2015 16:49 #123229
Mám ve funkci tento kód:
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
foreach ($result as $v1) {
$v1->field_95='1';
switch ($den){
case 0 ;
if ($pole_casu[$v1->field_93] < $pole_casu[$v1->field_94]){if ($hodina>
$pole_casu[$v1->field_93]) and ($hodina<
$pole_casu[$v1->field_94]))){$v1->field_95='0';};}
else {if ($hodina>
$pole_casu[$v1->field_93]) and ($hodina>
$pole_casu[$v1->field_94]))) {$v1->field_95='0';};};
};
}
Když si ho chci dát do funkce:
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
foreach ($result as $v1) {
mojeotevreno($v1);
function mojeotevreno(&$v1)
{
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
$v1->field_95='1';
switch ($den){
case 0 ;
if ($pole_casu[$v1->field_93] < $pole_casu[$v1->field_94]){if ($hodina>
$pole_casu[$v1->field_93]) and ($hodina<
$pole_casu[$v1->field_94]))){$v1->field_95='0';};}
else {if ($hodina>
$pole_casu[$v1->field_93]) and ($hodina>
$pole_casu[$v1->field_94]))) {$v1->field_95='0';};};
napíše mi to:
Call to undefined function mojeotevreno()
Kde dělám chybu?
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
foreach ($result as $v1) {
$v1->field_95='1';
switch ($den){
case 0 ;
if ($pole_casu[$v1->field_93] < $pole_casu[$v1->field_94]){if ($hodina>


else {if ($hodina>


};
}
Když si ho chci dát do funkce:
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
foreach ($result as $v1) {
mojeotevreno($v1);
function mojeotevreno(&$v1)
{
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
$v1->field_95='1';
switch ($den){
case 0 ;
if ($pole_casu[$v1->field_93] < $pole_casu[$v1->field_94]){if ($hodina>


else {if ($hodina>


napíše mi to:
Call to undefined function mojeotevreno()
Kde dělám chybu?
30. srp 2015 20:23 - 30. srp 2015 20:28 #123231
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Odpověď od H13

Admin
Ahoj, zkus tu funkci dát mimo foreach.
např.:
function ahoj() {
echo "ahoj";
}
foreach ($x as $k => $v) {
ahoj();
}
např.:
function ahoj() {
echo "ahoj";
}
foreach ($x as $k => $v) {
ahoj();
}
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
31. srp 2015 00:03 #123232
Odpověď od Ernst
Joomla Expert
i když tam vložím tento jednoduchý případ, tak to stále píše:
Fatal error: Call to undefined function ahoj()
Upravuji zakoupený modul. Nemusí být všechny funkce někde nadefinovány?
Fatal error: Call to undefined function ahoj()
Upravuji zakoupený modul. Nemusí být všechny funkce někde nadefinovány?
01. zář 2015 09:05 #123261
Odpověď od Ernst
Joomla Expert
samozřejmě v tom příkladu byla funkce mimo forearch, jen mi vypadla řádka:
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
foreach ($result as $v1) {
mojeotevreno($v1);
}
$den=date('w') ;
$hodina=StrFTime("%H:%M", Time());
foreach ($result as $v1) {
mojeotevreno($v1);
}
01. zář 2015 13:39 #123262
Odpověď od Cony

Moderátor
No záleží v jakém místě máte ten zápis? Nemáte ho zase v objektu? Je ta funkce mojeotevreno definována jako globální funkce, metoda objektu, nebo lokální funkce uvnitř jiné funkce? Opravdu si projděte základy PHP, ta hláška znamená jednoduše že voláte funkci, kterou v tom místě PHP nezná.
01. zář 2015 17:32 #123265
Odpověď od Ernst
Joomla Expert
Ve třídě class FrontendModelResults extends LoveFactoryFrontendModelList
mám několik public a protected funkcí. z jedné protected funkce potřebuji zavolat jinou funkci, která vráti výsledek
mám několik public a protected funkcí. z jedné protected funkce potřebuji zavolat jinou funkci, která vráti výsledek
01. zář 2015 18:37 #123266
Odpověď od Ernst
Joomla Expert
Už jsem to pochopil. Dobrý článek je
www.interval.cz/clanky/php-pro-pokrocile...s-tridami-a-objekty/
musím funkci volat FrontendModelResults::funkce();
musím funkci volat FrontendModelResults::funkce();
01. zář 2015 21:20 #123272
Odpověď od Cony

Moderátor
Vždyť Vám říkám, naučte se základy objektového programování. To co píšete je statické volání metody. také by jste ji mohl volat $this->funkce() a kdyby jste opravdu přesně použil to co psal H13, tak to volání ahoj() by Vám taky fungovalo.
01. zář 2015 22:11 #123275
Odpověď od Ernst
Joomla Expert
no jo já jsem zvyklý se učit až v praxi a než se tady zeptám, tak to pár hodin sám hledám.
A navíc upravuji dost rozsáhlou komponentu, Ale čím dál víc to chápu.
Ten článek na který jsem psal odkaz je opravdu dobrý pro pochopení základních pojmů.
A navíc upravuji dost rozsáhlou komponentu, Ale čím dál víc to chápu.
Ten článek na který jsem psal odkaz je opravdu dobrý pro pochopení základních pojmů.