Jump to content
php.lv forumi

Recommended Posts

Posted

Tas ir mans viedoklis

Jā, es pamanīju un pārpublicēju tavu viedo kli. Problēmas?

ģēnij...

:)

Tev liekas, ka tā ir baigi laba ideja - izlaist "true" statementu?

Jā.

Cik daudzi programmētāji, tavuprāt, zin par tādu brīnumu?

Nezinu, neesmu skaitījis.
  • Replies 30
  • Created
  • Last Reply

Top Posters In This Topic

Posted

Es nedomāju, ka ir prātīgi izmantot tādas mazpazīstamas un tikai dažās programmēšanas valodās atbalstītas fīčas.

 

Līdz 5.3 versija PHP nebija null coalescing operator, tagad ir. Dažreiz noder, jā jāpaņem pirmā ne-null vērtība no diviem vai vairākiem mainīgajiem.

Citās valodās tādi operatori arī ir, piemēram JS šādiem mērķiem izmanto "||", C# izmanto "??"

$a = $b ?: $c ?: $d; //PHP
a = b || c; //JS
a = b ?? c; //C#

Tad tu iesaki arī citās valodās nelietot šādas fīčas? Cik zinu, JS to izmanto ļoti bieži.

Posted (edited)

> Cik daudzi programmētāji, tavuprāt, zin par tādu brīnumu?

 

Par elementāru sintaksi būtu jāzin jebkuram programmētājam. Pietam, šis te nav nekāds jaunums un ir citās valodās. ;)

 

> "pasauksim ielasmeitas un novilksim bikses, bet nesāksim taču drāzties"

 

Lolko.

Edited by daGrevis
Posted

"Idejas pasviestas, bet nesāksim taču flame war par php" == "pasauksim ielasmeitas un novilksim bikses, bet nesāksim taču drāzties"

 

"Idejas pasviestas, bet nesāksim taču flame war par php" == "pasauksim ielasmeitas un novilksim bikses, bet nesāksim taču drāzties"

Posted (edited)

@e-remit -

"$a = $b ?: $c ?: $d;"

Srsly? Come on, nepietiek, ka nested conditionals tā jau ir slikti lasāmi (nerunājot nemaz par PHP conditional problēmām, ja tos neliek iekavās), vajag taču vēl šitādus brīnumus izdomāt...

Turklāt vienkārši rakstot "$a = ($b ? : $c)", ja $b nav uzsetots, tad PHP versija vienalga metīs/logos undefined variable warningus,

savukārt rakstot "$a = (isset($b) ? : $c)", ja $b ir uzsetots, tad $a būs "bool true", nevis $b vērtība.

Jebkurā gadījumā, nesmuks risinājums. Īss, bet zūd readability; ilgāk laika nepieciešams, lai saprastu, ko kods dara, jo tas nav rakstīts, tev tas ir galvā jāuzbur/jāizprot. Jāņem tomēr vērā, ka pēc dažiem gadiem tavu kodu iespējams pārņems citi programmētāji un tiem būs jāzīlējās tam sviestam cauri.

 

@daGrevis - es arī slepeni heitoju PHP, man patīk strictly typed valodas, lai gan PHP universālais array() jeb "maiss" gan ir ļoti parocīgs.

Edited by jurchiks
Posted

Turklāt vienkārši rakstot "$a = ($b ? : $c)", ja $b nav uzsetots, tad PHP versija vienalga metīs/logos undefined variable warningus,

Vienmēr meklē problēmas, kur to nav? Pēc tavas loģikas arī "echo $a;" lietot nav labi, jo, nefinēta mainīgā gadījumā, metīs warningus.

Ja nesaprati, "echo $b ?: $c ?: $d;" izvadīs to mainīgo, kurš pirmais, kastojot uz boolean, neatgriezīs false, vai arī pēdējo. Par PHP kastošanu, lasi dokumentācijā, tas nav nekāds jaunums PHP pasaulē.

Vienīgais, kam piekrītu, man arī patīk strongly typed valodas.

Posted

Man no PHP grūti atteikties deļ pieejamajām bibliotēkām. Pēdējam projektam sāku izmantot super-sexīgo RedBean ORM. 

 

Par strong type valodu plusu piekrītu, saviem non-server darbiem izmantoju Haxe, bet servera aplikācijām pagaidām turpinu izmantot PHP. 

 

Palaist eksotiskākas valodas uz servera arī nav liela problēma mūsdienās, jo VPS ir pieejams pa lēto (vismaz ārzemēs).

Posted

nu jā es biju domājis to, kas atbilst "static", salīdzinot ar PHP tipu dinamiskumu.

 

Par JS alternatīvām - ir vairākas valodas, kas kompilējas uz JS source, tāpēc var kādu no tām izmantot, kurai ir static types. http://altjs.org/

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