Jump to content
php.lv forumi

@ pirms funkcijām


rausis

Recommended Posts

Ko dara @ simbols pirms funkcijām?

Piemērs: @mysql_query(), @session_start().. utt.

Kāda tam nozīme un kādos gadījumos viņu izmanto?

 

Iekš google neko nepratu sameklēt, jo meklētāji @ simbolu nesagremo, neko nesameklēju, tādēļ jautāju šeit.

Pateicos par info. :)

Edited by rausis
Link to comment
Share on other sites

errorus tad neatgriež. kaut kas līdzīgs, ja funkcija sapišās un tā vietā lai izvadītu penteri, ka errors vienkārši skipojam. tālāk gan viss turpina izpildīties.

 

man ar šur tur kodos stāv simbols @ piemēram, priekšā mysql_queryiem .. tādēļ labprāt uzzinātu kādēļ tas ir `evil`? :)

Edited by pilots
Link to comment
Share on other sites

Viens no iemesliem ir taads, ka tas prasa papildus resursus PHP interpretatoram. Tas ir - teoreetiski skripts paliek leenaaks. Otrs - tas reaali apgruutina debugoshanu, jo lai arii tu ieksh php.ini iesleegtu visus error_reporting liimenjus, taapat tos errors, kas ir pasleepti ar @, nekad neredzeesi. (Tad gan vajag izmantot error logu).

Link to comment
Share on other sites

Viens no iemesliem ir taads, ka tas prasa papildus resursus PHP interpretatoram.

??? tas ir 1 lieka simbola/darbibas apstraade ;)

Vienigais iemesls kapec vinju nevajag izmantot ir Debugosana .....

gala varianta vinju var izmantot, tikai pie izmantosanas jatceras ka Kljudas apstrade javeic pasam .....

piemers :

 

$parbaude= @include('bla.php');

 

if($parbaude==false)

{

echo 'Fails bla.php naff....';

}

else

{

// megjinam dariit ko citu ...

}

 

----

izmantosanas labums ir taads ka Gala Lietotaajs Nekad neredzees standart kljudas pazinjojumu (kautgan labak ir izslegt kljudu izvadi uz ekrana ...)

Edited by Grey_Wolf
Link to comment
Share on other sites

Grey_Wolf, tavaas aciis tas ir tikai viens simbols, bet php interpretaators to redz savaadaak. Kaut kur lasiiju/dzirdeeju, ka kad tiek izsaukts kaut kas ar @ priekshaa, tad PHP pusee norisinaas vesela opera. Tikai kaut kaa tagad nesanaak atrast sourci, kur to lasiiju.

Link to comment
Share on other sites

jā! pat pamēģināju pamērīt

for($i=0; $i<10000; $i++) {
 @include('notexisting.file');
}

~27sec

 

for($i=0; $i<10000; $i++) {
if(file_exists('notexisting.file')) {
	include('notexisting.file');	
}
}

~5sec

Link to comment
Share on other sites

×
×
  • Create New...