Прекъсване на функция

jaffy

Registered
Как да прекъснем действието на функцията след нейното извикване?

Имам примерно
function.php
<?php
function tekst(){
print("Printing texts...");
}
?>

index.php
<?php
require "function.php";
tekst();
?>

И искам да прекратя незабавно действието на tekst();

Как ще стане?

+1 :?:

Благодаря предварително отново за вашето съдействие. :)
 
+1 а някакъв начин да заобиколя спирането на целия скрипт.. в смисъл..това не спира само функцията. :)
 
Не мога да разбера точно какво прекъсване на функцията искаш? И кога да се прекъсва функцията.
Тя всяка функция като стигне до затварящата скоба и се прекъсва сама.
Ако искаш да я прекъснеш преди затварящата скоба може да стане така:

<?php
function name() {
echo "kod predi return";
return;
kod;
echo "kod sled return";

}
?>

Както виждаш кода след return няма да се изпълни. return може да връща и от променлива return $foo;

Погледни повече тук за return
 
Реално става на въпрос за това:

news();
$get_config_data="SELECT approved FROM news WHERE approved>0";
$config_data=MYSQL_QUERY($get_config_data);
$config['num_online']=mysql_num_rows($config_data);

Функцията news(); е mysql connect който съдържа пълно инфо и функции за свързване към mysql , понеже те са 2 различни функции свързващи към различни бази данни за това направих две отделни функции за всяко свързване.. та проблема е там ,че дава еррор ,че функцията вече е била декларирана .. често ми се налага да ги използвам и двете функции.. за това искам да намерия начин така ,че след като вече ми е свършила работа и съм извадил резултатите от MySQL да прекъсва функцията. Надявам се сега е по-ясно. :)
 
Ми пробвах вече с него и няма особен ефект.. става на въпрос ,че ми дава ерор ,че в предишен пхп файл съм декларирал същата функция. В краен случай ще пренареждам функциите явно за да ги ползвам по-рядко. :)
 
Не може в един файл да имаш две функции с едно и също име. Просто смени името на една от двете функции.
 
break; няма да подейства, защото се ползва само в цикъл. exit() също не става защото работи като die() - спира целия сайт под него. mysql_close() спира само конекцията едва ли ще му свърши работа.
 
relax каза:
break; няма да подейства, защото се ползва само в цикъл. exit() също не става защото работи като die() - спира целия сайт под него. mysql_close() спира само конекцията едва ли ще му свърши работа.
В такъв случай няма код който да спира само отделна част от кода или поне не съм мяркал такъв. Има кодове, спиращи изпълнението на кодовете след тях (независимо от формата - хтмл, пхп...) така че приятел незнам какво ад те посъветвам.
 
Е ето ,че PHP не може всичко хаха.. добре тогава имам друга алтернатива.. начин по които да проверявам дали дадена функция е стартирана вече.. демек това което и storm предложи..
if ... news == 1
else..news();
И нали там както трябва да стане ако въобще може.. :)
 
PHP може много неща.Защо не се опидаш да обясниш какво точно искаш да постигнеш,за да ти предложим начин?
 
Прочете ли темата от началото? :)

Хайде така и така ме удря скука пак ще обясня..

Имам функция която е MySQL connect.. именувана news(); обаче имам и една друга която пак е mysql connect но към друга база данни на друг сървър именувана comments(); та понеже ми се налага често да ги използвам тези функции и от прекаленото ползване в почти всеки пхп файл те започнаха да се сблъскват и започна да ми дава ерори ,че съм декларирал вече тази функция, демек вече съм я извикал ама не ми върши работа защото няма действие. По този начин прекъсва целия скрипт.. mysql_close, exit; , break; - не действат камули die(); ... тези аз ги пробвах още преди да пиша тук... трябва по някакъв начин след употребата на функцията да я прекъсна по начин така ,че всякаш не е била извиквана.. все едно цъкаш на линкчето в форума "Изчисти всички бисквитки от форума" или нещо подобно.. как е обяснението сега? :roll:

Едит: Аз съм решен да го пусна тоя скрипт .. в краен случай ще размествам по някакъв магически начин всички функции така ,че да не ми дава ерори.. просто по другия начин ще бъде по лесно...
 
Можеш да проверяваш дали функцията е декларирана с if ( function_exists("news") ).....

Обаче щом ти дава тия грешки значи инклудваш 1 файл повече от 1 път, което не говори много добре за кода ти и може да доведе до още проблеми. Най-добре си структуритай кода както трябва и не допускай такива двойни инклудвания.
 
С извинение за double post /

Реших да изтрия навсякъде където съм извиквал функцията.. реших да го направия с клас обаче имам следния проблем:

<?php
class conn
{

Ето на това ми дава следния еррор:
Fatal error: Cannot redeclare class conn in C:\xampp\htdocs\inc\mysql.php on line 3

В тоя клас имам 2 функции които без класа работят нормално, класа го затварям с }

Извиквам класа с:
$db = new conn;
$db->news();

Може ли кратко обяснение.. за първи път днес използвам клас знам ,че има доста повече предимства от сама функция.
 

Горе