Jump to content
php.lv forumi

PHP loģika?


Wuu

Recommended Posts

Šādi var

if (isset($item['invoice_nr'],$item['item_nr'],$item['item_amount'])) {

Bet šādi nevar! 

if (!empty($item['invoice_nr'],$item['item_nr'],$item['item_amount'])) {

Kur sakars? Vai nu izstrādātāji pīpē kaprona zeķes, vai arī es kaut ko neizprotu? 

Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Ja gribi lamāt PHP, pameklē internetā "PHP: a fractal of bad design" vai "PHP: фрактал плохого дизайна".

Ja par šīm divām funkcjām, tad isset() pārbauda, vai mainīgais/ie ir uzzsetots, bet empty() pārbauda, vai mainīgais satur kādu vērtību, ko nevar nosaukt par tukšu. Kā jau manuālī teikts, empty() dara to pašu, ko !isset($var) || $var == false, t.i. šajā izteiksmē vairāk par vienu parametru neieliksi.

Link to comment
Share on other sites

Un šādi cilvēki visvairāk bļauj, ka PHP ir debīla valoda un mazliet labāka par ekseli.

Domāju, ka tu neizproti un neesi uzmanīgi manuāli palasījis.
empty($x); // true
isset($x); // false

$x=null;
empty($x); // true
isset($x); // false

$x=0;
empty($x); // true
isset($x); // true

$x='';
empty($x); // true
isset($x); // true

$x='1';
empty($x); // false
isset($x); // true
Edited by rpr
Link to comment
Share on other sites

Pēc šādas loģiks, var teikt, ka visas valodas ir bad designed, jo kāds "pusfabrikāts" izdomās, ka funkcijām, kas veic 2 dažādas lietas, nevar padot parametrus tādā veidā, kā viņš grib.

Edited by xPtv45z
Link to comment
Share on other sites

> un ar to ir jāsamierinās.

 

Or, you know, nē.

 

Cik saprotu, OP nevis prasa ko dara isset vai empty, bet lamājas par to, ka līdzīgām funkcijām ir pilnīgi savādāks uzvešanās veids, par ko es viņam piekrītu.

Link to comment
Share on other sites

> daGrevi, tu lieto Clojure praksē?

 

Darbā nē, bet mājās, palēnām, ņemos gan.

 

> Es arī mācos Scalu, aizvakar uzrakstīju pavisam primitīvu event engine

 

Kad ieliec, iemet linku.

 

> Clojurei tomēr nav statiska tipu sistēma

 

Ir gan un saucas Typed Clojure. Nevelti Lispus sauc par programmable programming language.

 

No otras puses, man nav dziļa vajadzība pēc tā. Vismaz pagaidām.

 

Vēl, salīdzinot Haskell TS ar Scalas, otrā nobāl.

 

> bibliotēku un fw ziņā viņai vēl tāls ceļš līdz Scalai

 

Tā kā ir Java interops, neredzu problēmu.

Link to comment
Share on other sites

Codez un grāvis varētu nodibināt savu clojure/scala/šmala/whatever forumu un pārstāt krist uz nerviem vienreiz ar saviem bezkonteksta pīkstieniem. Paldies.

 

Kas attiecas uz šādām niansēm, jebkurš ir laipni lūgts to labot - https://wiki.php.net/rfc, diskusija @internals un aidā. Zinot to, cik liela ir php core komanda, ehm...

 

Gudri definēt nav objektu refinēt. 

Link to comment
Share on other sites

Scala atšķirībā no tīrām FP (Clojure, Haskel) valodām, ļauj ari programmēt imperatīvā stilā, kas daudziem ļaus daudz vieglāk un ātrāk uzsākt radīt produktu, jo nebūs uzreiz jāapgūst neskaitāmie FP paterni. Tāpat dažreiz ir algoritmi, kurus ir daudz vienkāršāk uzrakstīt imperatīvā stilā ar maināmiem (mutable) stāvokļiem.

Kas attiecas uz Clojure TS, tad ja nemaldos tā strādā tikai kā type hintings. Vai viņa reāli uzlabo koda ātrdarbību?

 

Tāpat arī bibliotēkām un fw ir nozīme, jo tie izmanto valodas dotās iespējas un padara kodēšanu ērtāku. Izmantojot tīras JAVA bibliotēkas, nāksies saskarties ar JAVA kolekciju tipiem un brīžiem ļoti "verbose" api.

 

Bez tam Scala sevi kā galveno backend valodu ir pierādījusi tādos gigantiskos projektos kā Twitter, LinkedIn, foursquare.

 

 

F3llony, palasi Raini.

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...