Jump to content
php.lv forumi

PHP gals ir tuvu.


codez

Recommended Posts

  • Replies 43
  • Created
  • Last Reply

Top Posters In This Topic

un PHP toč nav viena līmeņa valoda ar Java

:)

 

Java vismaz sniedz kaut kādas paralēlās izpildes iespējas, par ko PHP var tikai sapņot

Kur problēma šo implementēt? Uzrakstam serveri (kaut PHP), laižam katru PHP "green" thread savā procesā, nodefinējam PHP interfeisu, pieprogrammējam procesu komunikāciju un voila. Protams, tas sūkās bez jēgas, bet ar šo es gribēju teikt, ka tas ir implementācijas jautājums, nevis valodas kā tādas.

Link to comment
Share on other sites

par javu arī nevaru piekrist. kamēr php nebūs mainīgo tipi konkrēti jāpadod, tikmēr tās ir nesalīdzināmas lietas.

 

nevajag jau baigi oponēt par lietām, ko pats neesi ska'tijies. es domāju php6.

 

jā php3 nebija oop un tas tā arī bija domāts.

 

nedomāju ka šobrīd vēl uz kāda lv hostētāja servera varētu palaist php3 kodu. vismaz bez lieku rindu pierakstīšanas noteitki nevar.

Link to comment
Share on other sites

Kapēc PHP to vajadzētu?! Reti kurai Java aplikācijai ir ieteicams veidot vairāk par vienu "thread'u"!

 

10 saiti no kuriem vajaga savākt XML dokumentus, palaižam 10 paralēlus thread'us(actorus) vai arī visu izpildām rindā, kas būs ātrāk?

Link to comment
Share on other sites

Ja? Tas ir tāpat, kā vairums rubijistu ir iedomājušies sēdam Olimpā un esam nezin kas? Tas ir kāds arguments? Ruby kā valoda salīdzinājumā ar PHP nemaz tik daudz jauna nedod un tik daudz nepalašina prāta spējas, lai tā lietotāji tagad varētu mētāt pirkstus \m/. Līdzīgi ar Java. Java un PHP (un tas pats Ruby, ja reiz iesāku) ir +/- viena līmeņa programmēšanas valodas.

 

hmm, jo Ruby maina attieksmi pret izstrādi un tas ir ļoti svarīgi dažiem programmētājiem.

No savas pieredzes varu pateikt, ka PHP programmētājiem ir sveši termini DRY, ORM, TDD, viņi nezin par tādiem rīkiem http://haml-lang.com/ http://sass-lang.com/ http://compass-style.org/ utt. Ja kādam interesē, tad aizejiet uz kādu prezentāciju pie http://elietas.wordpress.com/about/

Link to comment
Share on other sites

10 saiti no kuriem vajaga savākt XML dokumentus, palaižam 10 paralēlus thread'us(actorus) vai arī visu izpildām rindā, kas būs ātrāk?

 

Vienā, protams. Tu zini cik daudz resursus rij paralēli "thread'i"? Kur nu vēl desmit.

Link to comment
Share on other sites

10 saiti no kuriem vajaga savākt XML dokumentus, palaižam 10 paralēlus thread'us(actorus) vai arī visu izpildām rindā, kas būs ātrāk?

 

Ātrāk protams būs paralēli.

 

Bet, lai paralēli lasītu XML dokumentus no 10 avotiem, nav nepieciešami 10 threadi, to tīri labi var darīt vienā treadā.

Ideja aptuveni tāda:

foreach($connections as $connection){
 $connection->connect();
}
while(true){
 foreach($connections as $connection){
   $connection->read(1000); //nolasām 1000 baitus
 }
}

Tāpar arī curlā jau ir iebūvēta šāda funkcionalitāte:

http://php.net/manual/en/function.curl-multi-init.php

 

 

Taču, ja tomēr tas vajadzīgs PHP tīri labi var palaist vairākus paralēlus procesus, kas to paveic.

http://php.net/manual/en/book.pcntl.php

 

Ērtībai var izmantot jau gatavu klasi, kurā visas šīs lietas ērti realizējamas:

http://blog.motane.lu/2009/01/02/multithreading-in-php/

Edited by codez
Link to comment
Share on other sites

No savas pieredzes varu pateikt, ka PHP programmētājiem ir sveši termini DRY, ORM, TDD

Slikta pieredze Tev trāpījusies :)

Pie tam, šie Tevis pieminētie termini ir vairāk KĀ programmēt, nevis valodas īpatnības. Varu piekrist tikai tam, ka vienā vai citā valodā ir ērtāk.

Edited by marrtins
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...