DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Opušteno (http://www.devprotalk.com/forumdisplay.php?f=16)
-   -   najgluplja stvar tokom programiranja (http://www.devprotalk.com/showthread.php?t=5862)

degojs 11. 08. 2008. 21:20

Citat:

Originalno napisao dinke
P.S. Dobro, posto necete da zakljucavamo, onda zovem Majstora Advocacy-a (crni pojas - 10 dan) - Degojsa :)

* Dinke summons Degojs. 42 little penguins die instantly.

Ovaj, ne idem već duže vreme ni na ES:Adv, a kamo li da se onda ovde prepirem - ovoj temi samo ja nedostajem :):) (A i zadnji put kad sam se nešto prepirao ovde.. well).

A da sam se našao pogođen tim YabLAN-ovim pričama o tim nekim operatorima kao taj iz Rubija, onda bih mu jednostavno odgovorio da u T-SQL (MSSQL) i MySQLu (čini mi se) postoji funkcija IFNULL koju ljudi godinama koriste bez problema, pa bih isto to napisao i u PHP-u i u zdravlju i sreći je koristio, da mi je baš toliko potrebna neka prečica tog tipa.

Kôd:

function IfNull( $var&, $value )
{
  if !is_set($var) $var = $value;
}

i onda lepo

IfNull( $x, $y );

kad god hocu to.. Ako sam dobro razumeo sta je hteo, tj. šta radi taj operator koji je pomenuo.

Tako nekako otprilike - ko koristi PHP sigurno može ovo da napiše tačnije od mene, ja to otprilike, davno je bilo kad sam čitao nešto za PHP..

Uopšte ne vidim da je big deal imati poseban operator.

misk0 11. 08. 2008. 21:24

Jablane, mislim da previshe licno shvatas programski jezik. I ja sam jedan od 'tih' koji programiraju u PHPu. Zasto? Zato sto me placaju za to i zadovoljan sam tim sto radim. Dobro me placaju. Danas / sutra (cu)trazim drugaciji / bolji posao gdje ce mi reci 'oki, zajebi PHP ajd da programiras u JAVA, Ruby, RoR ili XX2 jeziku (karikiram) i dacemo ti vecu platu' - RADO. Radim stvari koje me zadovoljavaju, makar one i ne bile uvijek programiranje (recimo projektovanje, planiranje, monitoring, etc..).

Kao sto je bluz rekao - pogresno pristupas.
Tvoja prica mi lichi kao pricha Mac korisnika na spram Windowsa - sto vishe pljujemo po ovim drugim = vishe ce nas biti... blah

cvele 11. 08. 2008. 22:10

joj al ste otisli u off.... stvarno se ponasate ko deca od 10god

ko se seca diskusije dal je bolji "mesecar" ili "perjanac" kliker

dinke 11. 08. 2008. 22:25

Citat:

Originalno napisao cvele (Napišite 58618)
ko se seca diskusije dal je bolji "mesecar" ili "perjanac" kliker

Ma porculanci su zakon :1094:

Ilija Studen 11. 08. 2008. 22:27

^^ Nije baš tako jednostavno. Pošto si unutar funkcije promeljiva je već setovana pošto je proseleđena funkciji. Ako uzmeš promeljivu koja ne postoji dobićeš Notice. Dobar deo setupa ne izbacuje error message, ali oni koji to rade mogu da te lepo zavuku, posebno ako kasnije radiš se headerima (redikrecije and stuff).

PHP kôd:

<?php

  error_reporting
(E_ALL);
  
ini_set('display_errors'1);

  
// Not set, use default
  
$not_set default_value($not_set12);
  print 
$not_set '<br />';
  
  
// Value is set, skip default
  
$is_set 'sasa';
  
$is_set default_value($is_set123);
  print 
$is_set '<br />';

  function 
default_value($value$default null) {
    return 
$value === null $default $value;
  }

?>

Rezultat:

Kôd:

Notice: Undefined variable: not_set in /Library/WebServer/Documents/test.php on line 7
12
sasa

Shortcut ovog tipa bi trebalo da bude deo jezika IMO, ali bez toga se lako može.

degojs 11. 08. 2008. 23:03

Sad si me naterao da skidam i stavljam XAMPP.

Ilija, kada ja poteram taj tvoj kod, dobijem taj notice ALI pazi sad :)

Vidi primer sto sam ja stavio.. ja sam napisao $var&

Primeti ono & na kraju. To je trebalo da znaci - kao referenca.

Sad sam pogledao i PHP dokumentaciju.. To se u PHP u stvari stavi ovako:

&$var

Dakle, pre, a ne posle imena promenljive.


E kad ja ovaj tvoj primer promenim tako da pise (primeti & ispred $value):

function default_value(&$value, $default = null)

Onda vise ne dobijem Notice.

Hm?

robi-bobi 11. 08. 2008. 23:16

Off Topic:
Citat:

* Dinke summons Degojs. 42 little penguins die instantly.
kakvo crno zakljucavanje, ja se zabavljam unlimited ovde :D
umalo da se zagrcnem :D

bluesman 12. 08. 2008. 00:03

Jablane bre, nema veze sa uvredama, samo ti kažem (sada sa mnogo manje reči) da smarate i da je dosadno da gledamo svaki čas priče o tome kako je "ovo" sranje, a "ono" jako dobro, niko te to ne pita niti želi da sluša takve stari (osim eventualno na nekoj temu "šta je bolje, ovo ili ono?" ). Ti si rekao da to radiš jer koristiš ovaj način da promovišeš "ono", a takvo ponašanje je "neželjena reklama". Niko te ne tera, samo budi umeren.

bluesman 12. 08. 2008. 00:19

Jbt, Ilija... degojs bolje zna php od tebe :)

Evo ti jedna takva funkcija koju ja koristim stalno. Ovo je pojednostavljena varijanta:

PHP kôd:

function _get (&$variable$default null)
{
    
$variable = isset($variable) ? $variable $default;
    return (
get_magic_quotes_gpc()) ? $variable addslashes($variable);


pa kada uradis

PHP kôd:

echo _get($ne_postoji"nesto"); 

To moze i bez return, ali je return koristan bas kada hoces da uradis output ili da dodelis drugoj varijabli vrednost one prve. Vratice "nesto", ako nije definisana varijabla $ne_postoji

Ako pak stavis recimo ovako
PHP kôd:

echo _get($_POST['ne_postojim_ni_ja'], "nesto"); 

Ne samo da ce da odstampa "nesto" nego ce i da setuje: $_POST['ne_postojim_ni_ja'] = 'nesto';

ivanhoe 12. 08. 2008. 03:46

ja u templejtima koristim ovako nesto @val($a, $b, $c, 5), gde je val() funkcija:
PHP kôd:

function val() {
    
$args func_get_args();
    foreach(
$args as $val) {
        if( 
is_null($val) )
            continue;
        return 
$val;
    }
    return 
null;




Vreme je GMT +2. Trenutno vreme je 17:56.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.