kodesnedkeren & den onde

Tags:    php

Det kan godt være, at håret på mit bryst vokser hurtigere når jeg skriver min kode i en tekst-editor -- men det er &%#½§ ikke morsomt.
Jeg har skrevet kode fra vb for applikations op til C#, javascript og php .. startede for 15 år siden. Intellisense fortog sig en del i express-editoren for C# .. alting blev mere besværligt efter jeg forlod vb-express. Den er tilgengæld det sprødeste, hurtige og mest effektive værkøj jeg har brugt.
Som nybegynder i javascript og php .. et helt andet kode-univers end det jeg kender .. er der meget at lære. Men jeg må tilstå, at jeg er ved at gå kold. I perioder bliver hver kode-linje pakket ind i try/catch. Det kán jeg i javascript, men har ikke kunnet få det til at virke i php.
Jeg har ikke nødig, endnu, at skrive så meget kode i php. Men jeg er holdt op med at tro på, at jeg er så elendig til at skrive kode som det manglende respons fra serveren lader forstå. Vedrørende mit indlæg om file-permissions kan jeg ane, at jeg ikke selv kan editere i php'en uden at filen står åben for gud og hvermand til at gøre det samme. Så er det måske ikke så mærkeligt.
Jeg har tidligere nævnt at to ens php-floats som tager en tur rundt i kode-karusellen, ikke nødvendigvis kan equates ens når de kommer tilbage. I if() er jeg begyndt at bruge tvungen konvertering til numbers for bare at kunne stole en lille smule på en ordentlig afvikling. Er der forslag til andre solide vaner det er værd at tillægge sig?



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
try/catch fungerer fint i PHP, det kræver dog at koden smider en exception frem for en fejl, og/eller fatal error. Du kan også få PHP smide exceptions i stedet for errors, se set_error_handler(), den fanger dog ikke fatal errors.

file-permissions på en unix maskine - det er så langt fra windows read/write permissions, som det kan komme. Benytter du ikke 777 filepermissions skal du være logget ind som ejer eller gruppeejer af filen og derfra kan du gøre med den hvad du vil.

I stedet for tvungen konverting i if-betingelser. Kan du bruge type matching "===" se http://php.net/manual/en/language.operators.comparison.php - så vil en comparison a la true === 1 give false.

Er det en IDE du mangler, kan Aptana, Eclipse eller Zend Studio sagtens være noget for dig. Du kan evt. kigge på denne ældre artikel: http://www.ibm.com/developerworks/opensource/library/os-php-ide/



Indlæg senest redigeret d. 28.02.2012 16:02 af Bruger #10216
Medmindre du er 100% absolut total ufejlagtig sikker på at du ved hvad du laver så kan du som udgangspunkt ikke sammenligne floats (eller doubles)! Hverken i PHP, C#, JavaScript osv..

Floats er ikke præcise og der er flere måder at gemme det samme tal på forskellige måder. Du kan f.eks. ikke være 100% sikker på at her er sandt:
Fold kodeboks ind/udKode 


Brug altid en såkaldt epsilon eller delta som du tjekker om forskellen er mindre end når du arbejder med floats:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 28.02.2012 16:02 af Bruger #14645
Nu ved jeg ikke hvor ny du er til PHP, startet selv med VB og C#, syndes det er både godt og skidt uden data typeing i PHP
man kan evt
Fold kodeboks ind/udPHP kode 



jeg laver så meget som muligt i klasser/objecter så kan man selv styre sin struktur lidt bedre. (imo en god vane)

ik lige det bedste eksempel i verden, men kunne ik lige komme på et bedre
Fold kodeboks ind/udPHP kode 


hvis du går meget op i datatypes kan det anbefales at bruge
var_dump($var);
til at se indholdet af en var når du tester/debugger - den udskriver datatype, længde og indhold

emh lige hvad jeg kan komme, de andre har været inde på det meste :)

intet af den kode i dette indlæg er testet.



Indlæg senest redigeret d. 28.02.2012 16:20 af Bruger #3427
Er jeg den eneste som går ind via -filemanager- og 'håndskriver' de forskellige filer?
Det har fordelen at alle de (andre) involverede filer (.php, .js, .html, .css) kan blive liggende. Jeg mener .. der skal vel flyttes en del filer fra en test-IDE når den er færdig?

Om try/catch i php .. jeg er i tvivl om symbolet ->
Og, kan jeg få en error.getMessage() på en exception som jeg ikke selv har sat op? Jeg har gonnok ikke noget at miste ved at prøve, fordi siden der skal bruge responset alligevel 'går i stå'.
Michael; Jeg tror jeg har prøvet på Eclipse; men .. skal php bare installeres på min pc (ikke i et specielt server-scoop)? så kan jeg nok osse brodere i en hvilken som helst mappe på pc'en.

Søren .. det er derfor jeg kalder den en php-float. php-floaten er god nok .. det er de andre der er for små. Den fejl jeg oplevede ligner:

1256948562348522
1256848562348522

så,epsilon har ikke gjort en forskel.

Nå, .. jeg kommer nok til at bide i det sure æble og betale de lærerpenge det koster at blive klogere ;O/

Tak for responsene
Carten




Om try/catch i php .. jeg er i tvivl om symbolet ->


PHP benytter -> istedet for .

PHP : object->method
C# : object.method

Da . i PHP er det samme som +/&
$string = "del a" . "del b" . "del c";


kan jeg få en error.getMessage() på en exception som jeg ikke selv har sat op?

ja du kan bruge ->getMessage() så længe at der bliver smidt en exception, skal ikke kunne svare på om de bliver smidt i alle php functioner, tror jeg ik, tror du vil modtage en fatal error hvis der er gået noget galt



t