WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Metodik för php-programmering (https://www.wn.se/forum/showthread.php?t=19163)

clirre 2007-02-07 15:43

Hej,

Jag har hållt på i typ ett år nu och använt php men kör väldigt mycket klippa och klistra programmering. Jag har dessutom en sanslöst ineffektiv metodik för att testköra koden.

I princip skriver jag koden i min fil, säg index.php, gör lite ändringar, skickar upp den på FTP till min webbserver. Reloadar sidan och ser resultatet. Ibland får jag felmeddelanden, ibland får jag rätt resultat, ibland blir det helt blankt (typ som när man glömmer ?> efter koden). En synnerligen ineffektiv metodik alltså.

Att köra lokalt är ju förstås lite smidigare (vilket jag gör ibland också, men vill helst testa mot mina live-databaser) men det är inte FTP:andet som är jobbigt. Det är att jag programmerar mer eller mindre i blindo. Trial-and-error på hög nivå.

Det MÅSTE finnas ett lättare sätt. Hur gör ni??

-Programvara med auto-complete?
-Metodik?
-Felsökning?

Vi utgår ifrån ett exempel där index.php har lite blandat php-kod och html-kod och där lite av koden hämtar data från en mysql-databas (på nätet eller lokalt).

hnn 2007-02-07 16:09

Använder DreamWeaver med FTP stöd... Sen är det Trial and error som gäller....

Sigurd 2007-02-07 16:24

PHPEclipse är ruskigt bra och har till viss del autokomplettering.

Men varför är det så svårt att installera t.ex. WAMP (Win, Apache, MySQL, PHP i en enda installation) och sedan köra lokalt?

Hjalle 2007-02-07 16:27

Jag kör WAMP och det fungerar utmärkt!
Har nog faktiskt ingenting att klaga på där

Kaffe 2007-02-07 16:30

  • Installera lokalt serverpaket. WAMP, XAMPP, m fl finns att tillgå.
  • Använd ett ramverk. CakePHP är en personlig liten favorit, och innehåller faktiskt en viss egen felhantering och komplettering (har du t ex inte skrivit en modell eller controller så tipsar den om det). Plus att du har kommandot Bake som låter dig generera modeller och kontroller.
  • Programvara har jag inga tips om, men det måste ju finnas något. Risken finns att de kostar en slant dock.
  • Designmönster är underbart för lite mer struktur: http://www.fluffycat.com/PHP-Design-Patterns/ eller http://www.phppatterns.com/docs/start

Hjalle 2007-02-07 16:58

Jag har nog tankat hem CakePHP fyra gånger eller något och aldrig börjat använda det.. Jag packar upp det och så precis när man gjort det så tänker man "vad ska jag göra nu då?". Jag har aldrig använt något annat framework heller och har egentligen ingen aning om hur man ska använda det osv. Är det så underbart att kunna använda ett framework?

Jag tycker CakePHP's manual är allmänt luddig, men om det verkligen är värt det så får man väl försöka bita sig igenom den.

Patek Philippe 2007-02-07 17:00

Har också börjat använda CakePHP och kan varmt rekommendera det.

Kaffe>> Har inte hittat någon bra dokumentation över bake kommandot. Något tips?

clirre 2007-02-07 17:20

Att köra php lokalt gör jag ibland. Just nu gör jag inte det, det är i princip inte det som är problemet (eller bara en liten del av problemet). Det är egentligen mest felsökningen.

Alltså, säg att jag skriver in en ny kodrad. Jag är inte helt säker på att jag har tolkat php-dokumentationen rätt och skriver ofta lite fel. För att felsöka och se om jag gjort rätt är det enda jag kan göra är att reloada filen i browsern och kolla om det funkade eller inte. Det är alltså true/false och knappt någon ledning alls, utom ibland när det står vilken rad felet är på.

Det är det jag menar med metodik och debugging. Lägger ner otroligt mycket tid på att felsöka och eftersom jag inte kan php egentligen så gör det det hela lite svårare.

martine 2007-02-07 21:23

Citat:

Originally posted by clirre@Feb 7 2007, 18:20
Att köra php lokalt gör jag ibland. Just nu gör jag inte det, det är i princip inte det som är problemet (eller bara en liten del av problemet). Det är egentligen mest felsökningen.

Alltså, säg att jag skriver in en ny kodrad. Jag är inte helt säker på att jag har tolkat php-dokumentationen rätt och skriver ofta lite fel. För att felsöka och se om jag gjort rätt är det enda jag kan göra är att reloada filen i browsern och kolla om det funkade eller inte. Det är alltså true/false och knappt någon ledning alls, utom ibland när det står vilken rad felet är på.

Det är det jag menar med metodik och debugging. Lägger ner otroligt mycket tid på att felsöka och eftersom jag inte kan php egentligen så gör det det hela lite svårare.

Man kan inte lära sig php från php.net enbart.

Om jag vore i din situation så skulle jag nog köpa mig en bra bok om php. De flesta har ett avsnitt om felsökning (debugging) och förklarar grundläggande språk-strukturer. Men du bör undvika böcker av typen php komplett på 3 veckor, snabbstart, kickstarta php, php på nolltid – dessa böcker kommer inte ge dig mycket mer än än fler exempel att klippa ihop.

De tar lite tid men om du tänker efter så sitter du nog hellre en kvart om dagen på tunnelbanan (eller bussen eller spårvagnen) och läser små bitar än att frustreras timtals över exempel som inte fungerar.

Annars, vad du kan göra, är att söka lite på php och felsökning, och försöka hitta sidor som grundligt går igenom php och kontrollstrukturer, när använder man foreach och när for, eller är det bättre att använda while, vad är det för skillnad på = och == och för den delen ===, vad finns i $_POST och $_SERVER, vad är OOP och för felsökning hur använder man var_dump och print_r.

Du lär inte få några heltäckande svar förutom från en välskriven bok.

(Jag förlitar mig på Core Web Application Development with PHP and MySQL som lägger stor vikt vid struktur, säkerhet och felsökning men den kan nog vara lite väl tung att ta till sig från "nybörjarnivå" – rekommenderar i alla fall varmt)

kabelkultur 2007-02-07 22:58

Instämmer med Martine, och tipsar om en sjyst "kom igång" bok som heter MySql/PHP Applications (Av Jay Greenspan / Brad Bulger). :)

Mvh pa


Alla tider är GMT +2. Klockan är nu 06:22.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson