Jump to content
php.lv forumi

Fatal error manās paša veidotajās funkcijās


CasyMan

Recommended Posts

Labāks variants ir klases ar statiskām metodēm:

 

class Page{


 static header(){
   return "lalala";
 }
}

Labums tāds, ka, ja mēs izmantojam autoload, tad varam jebkurā vietā izsaukt:

Page::header();

un neuztraukties par failu inklūdošanu.

Kā arī atkrīt problēma ar funkciju redeclerāciju un vajadzība pēc namespace.

Edited by codez
Link to comment
Share on other sites

  • Replies 35
  • Created
  • Last Reply

Top Posters In This Topic

Ko jūs te dzenat?

header ir rezervēta funkcija:

 

http://lv.php.net/ma...tion.header.php

 

Bildes piemera kludas pazinojuma var lasit, ka nevar redeklaret funkciju. Protams, jo ta ir iebuveta.

Edited by blackhalt
Link to comment
Share on other sites

 

Nevar būt !?!

Vispār, jau to pateica pirmajā atbildē.

Bet ko darīt, ja cilvēks tik un tā grib funkciju ar nosaukumu header?

Tā nevajag darīt, jeb pašam jāpārraksta PHP koda kods.

Link to comment
Share on other sites

 

Nevar būt !?!

Vispār, jau to pateica pirmajā atbildē.

Bet ko darīt, ja cilvēks tik un tā grib funkciju ar nosaukumu header?

 

Easy, viņš to ņem un pārraksta!

 

http://php.net/manual/en/function.override-function.php

 

Kādreiz gribēju šādā veidā uztaisīt debug funcionalitāti, un pārrakstīt mysql_query() pievienojot kaut kādu logošanu :)

Link to comment
Share on other sites

Labāks variants ir klases ar statiskām metodēm:

 

class Page{


 static header(){
   return "lalala";
 }
}

Labums tāds, ka, ja mēs izmantojam autoload, tad varam jebkurā vietā izsaukt:

Page::header();

un neuztraukties par failu inklūdošanu.

Kā arī atkrīt problēma ar funkciju redeclerāciju un vajadzība pēc namespace.

 

Es gan domaaju, ka vislabaakais variants ir namespaces + klases. Jo tavaa piemeeraa, ja man ir arii modelis Page (un es vinju negribu saukt PageModel vai Model_Page, utt), tad buus probleema un buus kaada klase jaapaarsauc. Ar namespaces viss cmuki \models\Page un \core\Page (vai vatever).

 

Piedevaam man tiik izmantot namespaces kopaa ar autoload, kur namespace buutiibaa ir celjsh uz failu.

Link to comment
Share on other sites

Hmm... Atbrauco no Beļģijas, atcerējos par php.lv... Iegāju papētīt jaunumus savā topikā. Pirmās 3 atbildes ir ok.., bet kas aiziet pēc tam!...

Visi te tik gudri, ka no šī visa ko izlasīju sapratu to, ka header ir iebūvēta funkcija. Par cik php esmu mācījies DIVAS dienas, piedodiet no tā visa lielā satura, kas seko zem paskaidrojuma, ka header ir iebūvēta funkcija man ir pa vienu ausi iekšā, pa otru ārā. Tāpēc, lūdzu, varbūt slēdzam ciet? Un ja kāds tiešām vēl tik ļoti grib izpļāpāties savu pieredzi un izdalīt savu ego, tad lai to dara citā topikā, ne priekš iesācējiem... Paldies. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...