Assignment

Events happening in the community are now at Drupal community events on www.drupal.org.
hansroberto's picture

Jag är inget PHP-geni, vilket borde ha framgått med all obarmhärtig tydlighet i mina tidigare inlägg. Så jag har tagit add1suns råd bokstavligt och faktiskt börjat läsa koden i core. Mycket intressant, mycket lärorikt!

Men jag tröttnade ganska snart på att läsa i Notepad++.... Min, genom alla tider, största favorit... Snyft... Den har tjänat mig troget och väl, men plötsligt ville jag mer... Så jag tankade hem Aptana, Eclipse och Netbeans och började prova.

Alla verktygen har PHP-plugins som gör php-läsningen till en dans. Vilket leder mig till en av anledningarna till att jag skriver detta inlägg: Plötsligt har jag ett verktyg som grafiskt framställer saker som jag aldrig kunnat drömma om!! Och där finns även en "tasks"-lista som talar om när det finns kosntigheter i koden och den visar, hur många ggr som helst att det finns "Possible accidential assignmnet" i koden, på hur många ställen som helst:

Öppnar man sidorna så hittar man ganska snart:
if ($new_page = inplode(...

Jag utgår ifrån att programmerare som sysslar med Drupal på core-nivå är proffs, så det måste finnas en anledning till detta... Men varför?? När kan man någonsin vilja säga: Om när man fakstiskt säger att det är så (=). Ska det inte alltid vara ==?

Om någon vill kasta ett ljus över detta så vore jag tacksam!

En fråga till innan jag avslutar (Det har säkert diskuterats förut): vilket verktyg använder du? Och varför? Själv har jag fastnat för Netbeans eftersom den ger förhandsgranskning av templatens divar och grafiskt hjälper mig med min CSS.

Fridens
/Hans

Comments

TBarregren's picture

Öppnar man sidorna så hittar man ganska snart:
if ($new_page = inplode(... normalt och acceptabelt.

Jag utgår ifrån att programmerare som sysslar med Drupal på core-nivå är proffs, så det måste finnas en anledning till detta... Men varför?? När kan man någonsin vilja säga: Om när man fakstiskt säger att det är så (=). Ska det inte alltid vara ==?

Utan att veta var du har sett koden är det svårt att säga om tilldelningen (=) är avsiktlig eller om det egentligen skulle vara en likhets- eller identitetstest (== respektive ===). Men om du har hittat det i core så kan du vara ganska säker på att det är avsiktligt. PHP har sina syntax-rötter i programeringsspråket C. I sådana språk är det idom du tar upp helt rätt och vanligt förekommande. Inom C familjen, som alltså PHP hör till, är tilldelning ett uttryck bland andra uttryck (t.ex. 3 + 4), och värdet av detta uttryck är det samma som det som står till höger om =. Koden skall alltså läsas så här:

  1. Tag arrayen som är argmentet till implode och tilverka en sträng med alla dess värden.
  2. Tilldela $new_page den sålunda tillverkade strängen.
  3. Om den just tilldelade strängen inte är tom, utför det som står i if-satsens block.

Ett alternativt sätt att skriva samma kod på, och så som man gör i språk med rötter i Algol, t,ex, Pascal, kan se ut så här:

$page = implode(...);
if ($page != '') {
  ...
}
vilket verktyg använder du? Och varför?

Korta svaret: Netbeans för att det är snabbare och enklare att använda än dem som är baserade på Eclipse.

Långa svaret: Efter att i många år programmerat med textredigerare, t.ex. Emacs, gick jag i mitten av 1990-talet över till C++ Builder och JBuilder. När Borland kraftigt försämrade licensvillkoren i början av 2000-talet bytte jag till Eclipse efter att ha ratat NetBeans som var slött och buggigt. Jag har ända sedan dess fram tills för några månader sedan varit Eclipse trogen. Kanon verktyg! Men så kom PHP till NetBeans, och jag var trött på att PHP på Eclipse (PDE) inte fungerade så bra som jag skulle vilja (slött, taskig debugger m.m.), så jag provade NetBeans... Wow! NetBeans har betydligt bättre stöd för PHP än Eclipse, är snabb och Xdebug är en barnlek att sätta upp och använda i NetBeans. Så numera dissar jag mitt kära gamla Eclipse och hyllar NetBeans.

(Om du inte har installerat Xdebug, gör det!)


Thomas BarregrenNodeOne

Jag har inget att tillägga

tobiassjosten's picture

Jag har inget att tillägga din huvudfråga men den om verktyg nappar jag gärna på!

jobbet kör vi i huvudsak Eclipse, Aptana och Geany och på sistone har Thomas också fått lite medlemmar i NetBeans-falangen. Jag är normalt mindre förtjust i stora extra-allt-miljöer men ser definitivt fördelar med allt godis som NetBeans verkar bjuda på. Det är ett verktyg som jag tänkt ge en chans när tillfälle bjuds. Eclipse har jag dessvärre mindre lyckad erfarenhet av. Långsamt, instabilt och otroligt tungt på resurser.

Om du vill köra något liknande Notepad++ fast med ett extra plus, testa Geany! Det finns också för WIndows, ifall du har den läggningen. ;)


Tobias Sjösten | NodeOne

Jag har konverterat...

hansroberto's picture

Jag har konverterat... Numera kör jag Ubuntu för det mesta. Tyvärr har vi nite ännu fått till citrix i Ubuntu på jobbet ännu (så att jag kan jobba i våra verksamhetssystem som ju är beroende av windows), men så fort det är gjort så ser jag ingen som helst anledning till att gå tillbaka till Windows.

Tyvärr har uppgraderingen till 9.04 ställt till en del problem: en partiell uppgradering som inte vill slutföras och så har compiz slutat funka helt... Jag som älskar extra-allt-godis-med-massor-av-socker-på-med-grädde-och-stekt-lök-och-gärna-x-large.tpl.php kan faktiskt seriöst överväga en återgång till Windows om compiz inte funkar snart igen ;-)

Kände inte till Geany sedan tidigare. Tack för tipset! Ska kolla in den. Fast NetBeans är bra fantastiskt. Förhandsgranskning av CSS och så hittade jag här om dagen DIFF-funktionen!! Jag kan alltså kolla in t.ex. vilka skillnader det är mellan min page.tpl.php och min page-front.tpl.php och dessutom grafiskt!! Läckert! Och det faktum att jag inte behöver öppna en fil för att se vilka funktioner som den innehåller... Snacka om smidigt.

Diffar

tobiassjosten's picture

Ett annat tips, för diffar i en GTK-miljö, är applikationen Meld. Med lite skruvande tar den även Git-diffar.


Tobias Sjösten | NodeOne

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week