Avatar billede mega-hawk Nybegynder
13. oktober 2004 - 18:01 Der er 82 kommentarer og
1 løsning

Guide til OOP

Hej.

Jeg er rimelig ny til php, men i alt min læsen om programmering i php synes jeg at have fundet ud af at det er en god til at kunne OOP, har dog læst en del artikler om det.
Har også kigget på php.net men i bund og grund synes jeg bare ik jeg har fundet en artikel som forklarer det sådan at selv en idiot som mig forstår det :s
Er der nogen som evt kender en side med nogle gode forklarende artikler om OOP og MEGET gerne på dansk?
Avatar billede baitianlong Nybegynder
13. oktober 2004 - 18:05 #1
Her er noget:

http://www.udvikleren.dk/article.php?aid=147&techid=6

:)

Du behøver dog ikke bruge klasser i PHP, det bliver i langt største grad anvendt til scripts (database, send mail osv.)
Avatar billede mega-hawk Nybegynder
13. oktober 2004 - 18:09 #2
he he har læst den artikel mange gange nu, men synes den hurtig gør det lidt forvirrende.
Tror jeg bliver forvirret over jeg ikke helt konkret kan se hvad man skal bruge det til, men alligevel synes jeg at hvis man dowloader scrips så bruger de snart alle OOP :s
Flere links til nogle artikler eller?
Avatar billede Slettet bruger
13. oktober 2004 - 18:15 #3
Jeg har netop læst bogen "Objektorienterede begreber" af Matt Weisfeld, som giver en god indføring i hvad objekter er for noget, og hvordan/hvorfor man bruger dem. Du kan eventuelt låne den på biblioteket. (Hvis dit eget ikke har den, kan de skaffe den hjem.)

Den handler ikke om PHP, men er mere generel. I bogen er nogle simple eksempler, som er skrevet i Java, og de kan sagtens læses, selv om man ikke kan Java i forvejen. (Det kan jeg ikke.) Heldigvis er syntaksen i Java ikke så forfærdeligt forskellig fra PHP.
Avatar billede mega-hawk Nybegynder
13. oktober 2004 - 18:23 #4
hm... Tror også jeg skal have sådan noget banket ind med en skovl.
Synes at mange af de emner bliver sprunget for let igennem.
Har selv bogen "PHP bogen" og da står det også lidt om den, men jeg synes bare de forklarer alt alt for lidt for efter hvad jeg kan forstå så er det da mange fordele ved at bruge OOP og når jeg sådan kigger nogle koder igennem ser det da også ud som om det gør hele koden mere overskueligt når man bruger OOP så jeg vil meget gerne lære det, men må dertil også indrømme at jeg alså ik er typen det lærer noget af 2 linjer og så er det det.
Jeg har tit brug for mere end ét simpelt eks for at forstå ting, men så lige pludselig siger det da også klik for mig og så har jeg fattet det :o)
Men det er det jeg mener for mange kommer bare med en ultra kort guide der til og så er det bare det :o/
Avatar billede Slettet bruger
13. oktober 2004 - 18:48 #5
Det var også netop derfor jeg valgte at læse den bog (og nu anbefaler den videre).

Det svære i OOP er at fange ideen med det. Hvad det egentlig går ud på, og hvorfor man pakker sine funktioner og data ind i objekter. Når man først har forstået den grundlæggende baggrund for OOP, er det jo ikke noget problem at slå op på http://dk.php.net/oop eller hvis man er så heldig at have adgang til PHP5, slår man op på http://dk.php.net/oop5 for at se syntaksen for det, man vil lave.

Før PHP5 har PHPs objekter været en del forkrøblet, da de egentlig bare var en afart af arrays, og der var for eksempel ikke understøttelse for at have variable i et objekt, der kun kunne læses/skrives inde fra objektet selv. Med PHP5 er objekter blevet meget stærkere.
Avatar billede mega-hawk Nybegynder
13. oktober 2004 - 18:54 #6
Har lige været inde på vores biblioteks hjemmeside og fået den reseveret direkte derfra så nu må vi se hvornår den kommer så jeg kan læse den.
Håber jeg så kan lære noget... he he
Avatar billede riversen Nybegynder
13. oktober 2004 - 18:56 #7
www.docjava.dk kunne også være til hjælp
Avatar billede mega-hawk Nybegynder
14. oktober 2004 - 07:08 #8
Hm ok nu vil jeg sgu lige prøve at arbejde med det, men er kørt rimelig hurtig fast i det. Jeg ville bare sådan for sjov lave et lille meget simpelt script som lige kan vise fornavn og efternavn på mig, men nu sidder jeg fast med en kode som ser sdåan her ud.
<?php
Class test{
        var $fornavn, $efternavn;

        Function vis(){
?>

Er der nogen som kan "bygge" den færdig for mig og forklare hvad de gør? Sådan så er jeg selv har lidt at lege med og så jeg måske kan lære noget...
Avatar billede baitianlong Nybegynder
14. oktober 2004 - 14:08 #9
function vis() {
  return $this->fornavn." ".$this->efternavn;
}
function setFornavn($fornavn) {
  $this->fornavn = $fornavn;
}
function setEfternavn($efternavn) {
  $this->efternavn = $efternavn;
}

---------------------------

test.php:

<?php

$mig = new test;
$mig->setFornavn("mega");
$mig->setEfternavn("hawk");
print $mig->vis();

?>
Avatar billede riversen Nybegynder
14. oktober 2004 - 18:17 #10
der er jo ikke meget OOP i det, når I ikke engang bruger public/private/protected
Avatar billede Slettet bruger
14. oktober 2004 - 18:28 #11
Der er ikke meget fis i at bruge public/private/protected i PHP4, for så får man bare en PARSE fejl. Disse nøgleord findes (som jeg også var inde på i indlægget igår 18:48:06) først fra PHP5.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 06:42 #12
nu når i diskutere public/private/protected så kunne jeg godt tænke mig at vide hvor vigtigt det er?
Alså selv kører jeg med php 4.3.3 på min localhost og mit webhotel med php 4.2.2 så jeg ser igen grund til at "lære de nye ting i php 5" så længe min udbyder heller ik kører med det.

Men til dig legende.dk vil jeg bare sige at jeg endda tror at jeg har forstået hvad du har skrevet så øh... Får jeg et svar fra dig får du points fra mig.
Ud over det vil jeg også gerne takke jer alle for jeres hjælp og ønske jer alle en rigtig nice weekend
Avatar billede Slettet bruger
15. oktober 2004 - 13:54 #13
public, private og protected er det, der giver en af de største fordele ved OOP, nemlig indkapsling. Uden dem kan man ikke sikre et objekts data mod at blive ændret utilsigtet af programkode udenfor objektet.

Hvis vi for eksempel har et objekt med denne klasse:

class Login {
  protected $loggedInStatus=false;

  public function checkLogin($brugernavn,$password){
    if($brugernavn=="sandbox" && $password=="hemmeligt"){
      $this->loggedInStatus=true;
    }
  }

  public function getLoggedInStatus(){
    return $this->loggedInStatus;
  }
}

Så kan kode udenfor objektet ikke selv ændre på loggedInStatus. Den eneste måde, den variabel kan blive ændret på, er af objektet selv, og det sker kun, hvis den får et korrekt brugernavn og password. (Koden kunne naturligvis have sammenlignet dem med en database i stedet.)

Dette giver flere fordele:

1) Det højner datasikkerheden, når der kun er et sted, der kan "pille" ved data.
2) Det letter fejlfinding.
3) Det giver mulighed for at lave de interne rutiner i klassen om uden at det generer resten af programmet.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 13:58 #14
hm ser ud som om i alle har ret godt tjek på oop bare ikke mig...
Hvordan har i lært det?
Er jeg bare for langsom til at forstå noget eller har i også haft jeres problemmer med at komme i gang med det?
Efter hvad jeg sådan kan læse i diverse artikler så er oop vejen frem til større hjemmesider...
Derfor vil jeg også gerne lære det i starten hvis man kan sige det sådan.
Noget php kan jeg da, men ik så meget...
Avatar billede baitianlong Nybegynder
15. oktober 2004 - 14:44 #15
Du skal bare tænke i objekter. Dit eget eksempel, hvor du er et objekt er glimrende, og derefter vil du se at alt kan være objekter med attributter. Ryger du ? Så kan cigaretten være en instans af klassen Cigaret, attributter kan være længde=10 cm Styrke = mild, den kan så igen være subklasse af tobaksvarer osv. Jeg er personligt ikke så stærk i at programmere OOP i PHP, da jeg aldrig har "haft brug for det", men jeg programmerer i Java, og det er ren OOP. :)
Avatar billede Slettet bruger
15. oktober 2004 - 14:44 #16
Min viden kommer simpelthen af at læse. Bøger, kodeeksempler, manualer og den slags.

Jeg har aldrig selv arbejdet med objekter, så jeg synes egentlig ikke jeg har så meget styr på dem endda.
Avatar billede riversen Nybegynder
15. oktober 2004 - 16:25 #17
Kommentar: sandbox 14/10-2004 18:28:06: nemlig, så derfor kan det udledes af min kommentar, at der ikke er meget OOP i php4
Avatar billede Slettet bruger
15. oktober 2004 - 16:32 #18
Det kan vi (til dels) godt blive enige om. Objekter i PHP4 er bare en specialudgave af arrays. Men det kan da stadig lade sig gøre at programmere OOP, selv om brugeren af et objekt selv skal styre at holde nallerne fra forbudt område. (Bare fordi man kan pille, behøver man jo ikke.) Man skal bare holde en god kodedisciplin.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 16:35 #19
Synes jeg læser den ene efter den anden manual og bog og guide og hvad har vi ik alt, men bliver dog blot mere forvirret af det -suk-
Avatar billede riversen Nybegynder
15. oktober 2004 - 16:38 #20
jeg sagde heller ikke OOP er ikke eksisterende i php4
Avatar billede Slettet bruger
15. oktober 2004 - 16:42 #21
OK, jeg læste nok lidt mere ud af dit indlæg, end du egentlig skrev. Det lader til at vi er helt enige.
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:09 #22
mega-hawk: hvad er det der forvirrer dig?
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:11 #23
og nej, du er ikke langsom... det kan være svært at fange, men når den er der, så får du en aha oplevelse. Jeg har hørt om 5. semester datamatikere, der ikke har fattet det (ikke at det er så svært)
Avatar billede baitianlong Nybegynder
15. oktober 2004 - 17:13 #24
Jeg er 5. semester datamatiker, og HAR fattet det, hurra ! :p
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:14 #25
he, det var forhåbentlig nok også en undtagelse. Det burde være sevet ind på det tidspunkt.
Avatar billede Slettet bruger
15. oktober 2004 - 17:23 #26
Jeg tror nok det er omkring 10 år siden, jeg først læste om OOP, og der fattede jeg heller ikke rigtig noget af det - bortset fra selve grundideen med at betragte ting som objekter, der kan gøre ting, og som har egenskaber.

Som tidligere nævnt har jeg ikke for alvor arbejdet med egentlig OOP. Dog har jeg lavet noget (meget ineffektiv) kode, som er lidt henad pseudo-OOP. I den kode har jeg et array, med de data, der hører til et "objekt", og det bliver så sendt til og returneret fra de funktioner, der fungerer som mine "metoder". Hvis jeg skulle lave det samme projekt idag, ville jeg bruge objekter til det. Grunden til at jeg læste den bog er også, at jeg overvejer at omskrive koden.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 17:36 #27
Tja den aha oplevelse glæder jeg mig til.
Den gang da jeg fik den aha med at indsætte data i en tabel og hente osv igen da kørte alt bare for mig og ja til sidst skrev jeg en masse gæstegbøger på den ene måde og så den anden og slettede dem igen bare for at prøve det fordi jeg synes det var fedt at jeg endelig havde forstået det.
Og når jeg LANGT OM LÆNGE har forstået det så hænger det også ved for tid og evighed :o)

Alså i mit hæfte "start på PHP 5" omtaler de også OOP og da har de "Det store projekt" som de jo kalder det...
Jeg skriver lige noget kode af der fra.

Class filen.
-------------
<?
Class Bruger(){
var $brugernavn,$kodeord;

function bruger(){
if(isset($_SESSION["brugernavn"]&&
isset($_SEEION["kodeord"]))
$this->log_ind($_SESSION["brugernavn"],$_SESSION["kodeord"]);
}

function log_ind($brugernavn,$kodeord){
$bruger_slash=addslashes($brugernavn);
$kode_slah=addslashes($kodeord);
$foresp=mysql_query("SELECT * FROM "."bruger WHERE brugernavn="."'$bruger_slah' AND kodeord="."'kode_slash'");
if(mysql_num_ros($foresp)==1{
$this->brugernavn=$brugernavn;
$this->kodeord=$kodeord;
$_SESSION["brugernavn"]=$this->brugernavn;
$_SESSION["kodeord"]=$this->kodeord;
return true;}else{
return false;}

Alså SESSION osv kender jeg godt, men så skriver de brugernavn=$this->brugernavn og hvor får det fra?
Det meste i den kode forstår jeg godt bortset fra det som har med oop at gøre
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:39 #28
først vil jeg, hvis det er det hæftet introducerer som OOP med php5, så smid hæftet ud!

$brugernavn svarer til den parameter, der gives med i funktionskaldet

altså log_ind( "riversen", "kodeord" )
her svarer riversen til $brugernavn

$this->brugernavn er brugernavnet for selve objektet bruger. dvs $this->bruger svarer til den variabel der erklæres med var $brugernavn.

Så det der sker er at du sætter var $brugernavn (dvs $this->brugernavn) lig med riversen ($brugernavn)... forståeligt?
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:41 #29
hvis der kommer noget med public/private/protected senere i hæftet, så behold det lidt endnu
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:45 #30
dvs $this->bruger svarer til den variabel der erklæres med var $brugernavn.


skulle være $this->brugernavn selvfølgelig :-) sorry
Avatar billede Slettet bruger
15. oktober 2004 - 17:45 #31
Her er jeg til gengæld ganske enig med riversen uden nogen forbehold.

Hvis bogen er lavet med henblik på PHP5, så bør den absolut kun bruge

var $brugernavn,$kodeord;

hvis der i kommentaren står, at det udelukkende benyttes for at sikre kompatibilitet med PHP4. Nøgleordet 'var' er nemlig forældet i PHP5 og skal erstattes af et af de tre andre.

Fra manualen:
The use PHP 4 use of declaring a variable with the keyword 'var' is no longer valid for PHP 5 objects. For compatiblity a variable declared in php will be assumed with public visiblity, and a E_STRICT warning will be issued.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 17:46 #32
først vil jeg lige sige at det kun var en del af deres "store projekt"
Men de har da også en lille forklaring før i hæftet, men den synes jeg ikke at kunne bruge til noget af det jeg ønsker og den skrier dog også noget om det der ja...
Kan vi ik prøve at lave et simpelt script så.
Jeg kan ik lige se mig ud af det lige nu hvordan koden skal se ud, men noget hvor man kan sige noget i stil med.
<form method='' action="post">
Indtast dit navn<br>
<input type="text" name="navn"><br>
<input type="submit" name="gem" value="-GEM-">
</form>

Damn det der kan jeg bare forfra og bagfra efterhåden he he...
nå men så noget
<?php
if($_REQUEST['gem']){
echo "Dit navn er ".$this->navn();.""
?>
eller noget i den stil.
Bare for at holde det så simpelt som overhoved mulig.
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:46 #33
du har iøvrigt lavet en skrivefejl her:
isset($_SEEION["kodeord"]))
Avatar billede riversen Nybegynder
15. oktober 2004 - 17:50 #34
jeg laver lige et fin lille eksempel til dig
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 17:51 #35
he he ja kan jeg se..

Hvis i kender hæftet "Start på php" kender i sådan set også "Start på php 5"
Jeg vil sige at 80% af teksten står ordret lige som i "start på php" og det eneste som er i det her hæfte som har noget med php 5 at gøre er i oop med beskuttelse og det fylder lige 1 side og alt andet kan også køre i php 4
Har da også fortrudt lidt at have købt det hæfte, men tænkte jo at jeg måske kunne lære noget.
De få forskelle det er på de 2 hæfter er at "start på php 5" går omkring oop og sessions og så beskriver den også hvordan man bruger diverse former for dropdown menu og checkbox osv... og så er det så "det store projekt" som er skrevet i oop hvor du kan oprette dig som bruger og slette dig som bruger osv, men ellers er resten det samme som "start på php"
Avatar billede powernodes Nybegynder
15. oktober 2004 - 17:54 #36
OOP er en måde at tænke på, og derfor behøver du ikke holde dig tl php relaterede sider når du vil finde tutorials etc.

Denne http://www.c-sharpcorner.com/Code/2003/July/OOPIntroduction.asp er faktisk ret god, og sproget c# er som bekendt c baseret, så det får du vel ligeså meget ud af.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 18:07 #37
er selv lige igang med at læse her http://www.gurusnetwork.com/tutorial/oop_php/
Ved ik om i experter lige kan kigge den hurtig igennem og sige om det er noget som er noget værd eller om den er spild af tid at læse
Avatar billede Slettet bruger
15. oktober 2004 - 18:16 #38
Den ser såmænd fin ud, men den er også kun lavet til PHP4. (Hvis det er hvad der ligger på din server, er det ikke noget problem.) I det mindste påstår den ikke at være til PHP5.
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 18:19 #39
ja men B-One kører jo kun med 4.2.2 hvis jeg da ikke husker helt forkert.
Iøvrigt en anden ting som også er begyndt at forvirrer mig er.
Hvorfor laver man en function som den her:
hent_navn($navn){
og hvornår sådan her:
hen_navn(){
Alså hvornår skal der noget i () og hvornår skal der ikke?
Avatar billede baitianlong Nybegynder
15. oktober 2004 - 18:22 #40
Hvis du virkelig vil være "nede med det" i PHP, vil jeg anbefale dig at købe bogen CORE PHP programming af Leon Atkinson. Jeg købte den for nylig, og den er smuk ! Den koster godt nok omkring 500 kroner, men den er det værd. Sørg for at få den nyeste udgave (der er en gul trekant på forsiden, hvor der står "fully revised for PHP5")
Avatar billede baitianlong Nybegynder
15. oktober 2004 - 18:23 #41
Du sender et parameter med i en funktion, hvis det skal bruges til noget:

function setName($newname) {
  $this->name = $newname;
}

function getName() {
  return $this->name;
}
Avatar billede baitianlong Nybegynder
15. oktober 2004 - 18:26 #42
man ville ikke skrive, som du foreslår hentNavn($navn), men man kunne godt skrive f.eks hentNavnFraPersonContainer($telefonnummer)
Avatar billede riversen Nybegynder
15. oktober 2004 - 18:42 #43
Avatar billede mega-hawk Nybegynder
15. oktober 2004 - 18:51 #44
problemmet er at jeg ik lige er pro til engelsk.
Har lige lånt Beginning php 4 på biblioteket og det meste af det der står i den kender jeg alt sammen.
Dog kapitlet om oop forstår jeg ikke helt.
Ud over det har jeg selv en samling (DANSKE) bøger.
har "PHP Bogen" "Avanceret php" hæftet "Start på php" og hæftet "Start på php 5" og så har jeg printet en hel masse ud fra nettet så jeg har en hel mappe fyldt nu he he.

Nå men sidst men ikke mindst så vil jeg da lige sige at med riversen's eks (som jeg har gemt på min egen com nu) da tror jeg sgu jeg får det store gennembrud.
Ved lige hurtig at kigge det igennem vil jeg sige at jeg forstår 90% af det vil jeg sige så nu er det jo bare at arbejde med det.
men public og private kan kun bruges i php 5 ik?
og øh... Hvordan laver du/i det sådan at det vises på skærmen i de farver?
Men som sagt... Jeg tror jeg forstår det der nu.
Vil dog vente med at arbejde med det til i morgen for jeg har en kæreste som er begyndt at klage over jeg næsten ik har været sammen med hende i dag :s
Men i skal have MAAAAANGEEEEE tak ALLE sammen for jeres hjælp.
Det virkelig meget pænt af jer og jeg ville så gerne gøre noget tilgengæld :o)
I må have en RIIIGTIIIIIG hyggelig weekend (jeg er nok tilbage i morgen igen).

Function out(){
Mega-Hawk er gået for i aften
}

he he...
Avatar billede baitianlong Nybegynder
15. oktober 2004 - 18:56 #45
Hvad satan, riversen, er du gift med Tina Kjær ? Hvad fanden laver du så på eksperten en fredag aften ?!? :P
Avatar billede riversen Nybegynder
15. oktober 2004 - 19:48 #46
vil også ind på sofaen nu og se film, eller hvad det nu bliver til ;-)
Avatar billede riversen Nybegynder
16. oktober 2004 - 08:56 #47
jo public/private/protected kan kun bruges i php5. Farverne kommer vha. show_source( __FILE__ ) som udskriver kilden til filen.
Avatar billede riversen Nybegynder
16. oktober 2004 - 11:15 #48
du kan jo iøvrigt prøve at ændre fødselsdag til private istedet for public og se hvad der sker
Avatar billede riversen Nybegynder
16. oktober 2004 - 11:46 #49
har lige flyttet til ny placering:
http://www.riversen.dk/?side=sources/oop.php
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 12:57 #50
hm riversen... Har lige kigget din side lidt igennem :o)
Med de fede video'er du har der osv... Kunne du da ik os tænke dig at lave noge php artikler eller en video om lær php eller noget ;o)
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:02 #51
tror ikke man lærer så meget ved at se jeg skriver noget php kode i en video :-)
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 13:17 #52
he he kunne du så os have ret i...

Er i alle bare højt uddannede datamatiker her inde som kan 20 forskellige programmerings sprog udenad eller?
Eller er det os selvlærte folk her inde?
Og hvordan vil i sige man bedst lærer alt det her php/mySQL?
Alså personlig har jeg sgu droppet alle de edb uddannelser jeg har været igang med :o/ dumt gjort... men... og ja så prøver jeg at lære mig selv det her php og mySQL, men til tider synes jeg det kunne være rart med én fast lære istedet.
Alså det findes jo mange måder inde for php at skrive den samme kode.
Eks så print og echo de gør jo det samme og da hvis man ik så skrap til php og folk skriver lidt om på ens kode ja så synes jeg man er lidt tabt igen og da vil jeg da sige det kunne være rart kun at have én bestemt til at hjælpe sig....
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:23 #53
Jeg er uddannet datamatiker (vil ikke kalde det højt ;-)), hvor jeg har lært lidt c/c++ og meget java. Har selv lært PHP og C#, så 20 sprog bliver det ikke til. Jeg har lært PHP ved at købe Beginning PHP4 og så ellers bare rode en del med det. Det bedste er vel, at du har et lille projekt. Fx en hjemmeside, hvor du vil have lavet et admin modul til også.

For at lære php SKAL du simpelthen kende http://dk.php.net/manual/en/. Her kan du slå alle funktioner op... Det er jo umuligt at huske det hele. Det er normalt det er meget svært i starten, men det kommer hurtigt, hvis du bare sætter dig nogle opgaver for.

Du kan jo fx. starte med at lave en gæstebog sammen med mysql
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:23 #54
beginning databases with mysql er en rigtig god bog
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 13:32 #55
ej ok, men i mine øjn er en datamatiker højt uddannet hvis man tager i betragtning af at jeg nok aldrig får mig en uddannelse mere :o/

Har lige selv lånt bogen beginning php 4 og det meste af det som står i den synes jeg lige som at jeg kender til på den ene eller anden måde og som sagt i går så har jeg også selv bogen "PHP bogen" (er lidt bedre til dansk end engelsk he he) og den har jeg også læst igennem mange gange og kan sådan set også det meste af det i den. Så har jeg også bogen "Avanceret php" og da skal jeg sgu ik mange sider ind før jeg føler mig fuldstændig tabt i det hele.
Jeg vil sige noget mellem begynder og avanceret kunne jeg godt tænke mig.

Nå men så tilbage til hvad du jo sagde om det med en hjemmeside osv.
Sjovt nok for min gamle nabo, ham og hans kone har en lille butik og dem har jeg så lavet en lille hjemmeside til (mit første egentlige projekt) den er måske ik særlig køn, men den indeholder det de ønsker og så kan de også logge ind som admin hvor de kan tilføje vare, slette vare, vælge billed til deres forside, uploade billede, redigere i varenavne og indtaste en vares pris uden moms og så bliver den selv sat ind med moms osv... Ved godt det er let nok at lave, men det var da en udfordring for mig. Ja ud over det kan de sende nyhedsbrev ud også, men så er det vist også det he he...

Jeg synes tit jeg bliver forvirret af at kigge i manualen, men kigger da tit i den alligevel, men hvad hvis man søger efter en function og man ik ved hvad den hedder?
Eks har jeg fundet ud af at unlink sletter filer, men hvordan finder man ud af det hvis man ik ved det?

Og sidst men ikke mindst... Synes jeg har lavet MANGE gæstebøger efterhånden så det er jeg lidt træt af he he... Kan det virkelig forfra og bagfra.

Derfor vil jeg nu hvor jeg ik har noget at lave prøve at lære oop da jeg synes at et script hvor oop bliver brugt i ser mere professionel ud og da vil jeg så starte med at prøve IGEN at lave en gæstebog dog hvor jeg bruger oop og til sidst en gang om en masse år når/hvis jeg lærer det kunne jeg godt tænke mig for sjov bare at lave en hel lille chat... Tror ik det bliver til noget vel, men kunne da blive sjovt nok...
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:38 #56
hvis du virkelig vil lære OOP, synes jeg ikke PHP er vejen at gå. Kig istedet på et rigtig programmeringssprog. Java er rimelig let at gå til. Jeg har lagt linket til docjava.dk. Som det er blevet sagt tidligere, er OOP en måde at tænke på, så det hænger ikke sammen med et bestemt sprog. Og at tænke objektorienteret i forbindelse med hjemmesider er nok ikke så nemt og logisk i forhold til rigtige programmer.
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:38 #57
der er iøvrigt også javabog.dk
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 13:44 #58
hm tænkte lige som om det ikke ville være bedst at lære et sprog af gangen.
alså det er da stadig mange ting i php jeg ik kender til...
Java er vel et programmeringssprog til at lave rigtige programmer med ik?
Alså lige som c++ og visual basic og delphi (he delphi har jeg engang arbejdet med he he)
sidder lige og læser på artiklen her:
http://www.gurusnetwork.com/tutorial/oop_php/0
og når man så kommer om på side 3 så forklarer han hvordan man connecter til sin database hvor han starter med nogle var og så kommer hele den her kode her:
function hookUpDb(){
        if(mysql_connect($this->_host,$this->_user,$this->_password)){
          $this->_connection = mysql_connect($this->_host,$this->_user,$this->_password);
          mysql_select_db($this->_db,$this->_connection);
          return $this->_connection;
        }else{
          return mysql_error();
        }
    }
Det kan jo skrives normalt på 2 linjer så synes godt nok lige det er lovlig meget at skrive for noget som kunne gøres mere enkelt.
Alså min store drøm er stadig at prøve at designe en mini chat i php og mySQL og jeg tror da heller ik det er så svært.
Downloade en færdig chat for et stykke tid siden og den er lavet i OOP og da synes jeg det så fedt ud for den kunne egentlig ret meget og det var ik fordi han skrev så meget kode og så tænkte jeg at jeg måtte vel nok hellere lære oop først...
Men det er vel også muligt at lave sådan en uden oop jo...
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:50 #59
ja, forbindelse til databasen kan gøres kortere, men der sker jo også mere end det. Alt kan gøres på mange forskellige måder, alt efter hvad man faktisk ønsker
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 13:52 #60
he he en mand af få ord he he...
Hvad sker der mere end den forbinder til en database da?
Avatar billede riversen Nybegynder
16. oktober 2004 - 13:54 #61
først tjekkes der, om der faktisk kan oprettes forbindelse (if)
derefter oprettes der faktisk forbindelse igen, som sættes lig med $this->_connection
Det er åbenbart en variabel for $this objektet.
herefter vælges databasen
og forbindelsen returneres
hvis ikke der kan oprettes forbindelse returnerer mysql_error istedet
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:00 #62
kan vel stadig skrives kortere på en måde med if(!mysql_connect("host","bruger","kode")){mysql_connect("host","bruger","kode")
mysql_select_db("uldbutik");}else{mysql_error();} eller sådan noget i den stil. Er ik helt sikker på om det er rigtig skrevet...
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:06 #63
som sagt, det kommer an på hvad man vil, og det du gør, er ikke det "han" vil
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:10 #64
hvad vil han da?
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:11 #65
gemme forbindelsen i en variabel i objektet også... og returnere den eller fejlen alt efter hvordan det går...

jeg har en lignende klasse: http://www.riversen.dk/?side=sources/databasehandler.php
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:17 #66
hvor må det være skønt bare at kunne skrive det hele bare sådan på under 5 min uden at skulle slå op nogen steder...
Damn håber jeg engang kunne blive så dygtig... :o/
Hvad lever sådan experter af som jer?
Et vildt it job til 500 kr i timen eller?
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:19 #67
det var nu en klasse jeg har liggende fra et andet projekt, så det er ikke skrevet på 5 min.

er blot alm. it ansat til langt under 500 i timen :-). Med mindre det er freelance.
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:22 #68
sgu nogen som er heldige alligevel.
Det eneste jeg nogen sinde får med it at gøre er den tid jeg bruger her hjemme foran min egen com på at lære noget som jeg nok aldrig rigtig får brug for alligevel.
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:33 #69
tænkte faktisk på en ting som jeg aldrig har fundet ud af.
Hvis man skal lave det sådan at et indlæg "afventer godkendelse" laver man det så sådan at når det bliver trykket på godkend at indlægget så gemmes på ny og så derefter bliver slettet fra det midertidlig sted?
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:34 #70
jeg ville lave en tinyint i mysql, hvor 0 = ej godkendt og 1 = godkendt. Så er det værdien af det felt der bestemmer det.
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:41 #71
tror du har fat i noget du nok lige må forklare mig lidt nærmere for jeg tror jeg kunne bruge det til mit min chat som nok aldrig bliver til så meget afligevel, men er lige gået igang med den.
Tænkte nemlig på hvordan man skelner mellem Admin, CoAdmin, Normal bruger.
Tænkte på om man skulle lave noget i stil med:

switch($login){
case admin;
include("admin_menu.php");
break;

case co_admin;
include("co_menu.php");
break;

case normal;
include("menu.php");
break;

Ved ik engang om det ville virker (har aldrig arbejdet med det før) men synes da teorien i den ville være fint, men det ville da være meget nemmere hvis man kunne sige noget i stil med if(status=0){så noget} eller?
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:47 #72
det er svært at kommentere, når det er taget ud af en sammenhæng
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:48 #73
kan du evt give et let eks?
Hvis du har lyst alså
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:53 #74
jeg ville nok gøre sådan, at nå rman logger på bliver der sat nogle session variabler alt efter hvilken status man har og så bare lave nogle menupunkter, der kun bliver vist ud fra værdien af sessionvariablerne... det er svært at blive helt konkret, men du bliver nødt til at bruge sessions ifm. login
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:53 #75
egentlig kræver uddannelsen som datamatiker vel også et godt gennemsnit og at man tage en gym først eller hh eller et eller andet vildt højt ik?
Og det er vel egentlig også svært at få arbejde inden for branchen er det ik?
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:56 #76
det kræver matematik på b niveau... og jo vist også gymnasial uddannelse eller tilsvarende, men det er vist bedst at spørge en institution. Jeg har kendskab til nogle, som ikke har levet op til kravene, såååå....

Og jo, det er ikke helt nemt. Og ca. 50% forsvinder i løbet af uddannelsen
Avatar billede riversen Nybegynder
16. oktober 2004 - 14:57 #77
smutter nu, da jeg skal rode med noget mysql, men jeg er på icq/msn, hvis det er... tak for nu!
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:58 #78
ej hvor vildt.
Ja så er det nok ik lige det jeg skal være ;)
Jeg har et gennemsnit i mat på 6 :o/
Mat har aldrig været min stærke side.
Har selv været igang med uddannelsen som it-supporter og som teknisk designer men er droppet ud af dem begge og nu tror jeg det er for sent for mig at starte på skolebænken igen...
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 14:59 #79
æh ok.
Har ik icq, men har msn hvis det er...
mega_hawk@hotmail.com
Avatar billede riversen Nybegynder
16. oktober 2004 - 15:01 #80
han fik nu OK karakterer, selvom han dumpede mat ;-)
Avatar billede mega-hawk Nybegynder
16. oktober 2004 - 15:05 #81
tror bare at jeg var for opsat på KUN at lære om edb den gang...
Da jeg gik igang med min it-supporter uddannelse skulle jeg de første 6 mdr følge alle elektriker og lave en størmforsyning og lære om ohms lov osv og det var ikke noget for mig og så dumpede jeg og kunne ik fortsætte... Synes det var ret skod.
Så fik jeg at vide at teknisk designer var en uddannelse hvor du lærer at lave hjemmesider. Så måtte jeg jo igang med den.
Det viste sig så til at det hele foregik i autocad og 3d tegninger osv og havde ik en skid med hjemmesider at gøre og så som eksamens projekt skulle jeg lave en hjemmeside som arbejdede sammen med autocad og hvordan man gør det ved jeg stadig ikke så c'følgelig dumpede jeg den gang og så fik jeg nok af skole og uddannelser som lovede noget de ikke kun overholde og siden den tid har jeg arbejdet istedet for og kan så kun det jeg har lært mig selv :o/
Avatar billede Slettet bruger
17. oktober 2004 - 14:16 #82
Sikke i har snakket, mens jeg var væk. ;-)

Ang. den kodestump, som mega-hawk postede igår 13:44, så vil jeg nok sige, at den gør tingene lidt forkert.

function hookUpDb(){

// Her forbindes faktisk til databasen
        if(mysql_connect($this->_host,$this->_user,$this->_password)){

// Og her forbindes en gang til - denne gang bliver resultatet bare gemt.
          $this->_connection = mysql_connect($this->_host,$this->_user,$this->_password);
          mysql_select_db($this->_db,$this->_connection);
          return $this->_connection;
        }else{
          return mysql_error();
        }
    }

Specielt vil jeg bemærke, at bare fordi det lykkes at forbinde den første gang, er det ikke sikkert, at den anden gang også vil lykkes. Man bør gemme resultatet af første forsøg og reagere ud fra det. (Og det er også det, riversen gør i hans eksempel.)

Når det så er sagt, mener jeg at PHPs MySQL-kode er optimeret således at den samme forbindelse vil blive genbrugt, når man fra samme script forsøger at forbinde flere gange med samme parametre, så i praksis ville det nok ikke give problemer - det er mere princippet i metoden, jeg er imod.

Angående uddannelse, så har jeg en gammel HH og en ufærdig BA i erhvervssprog. Det eneste IT-relaterede i min uddannelse har været lidt tekstbehandling og faget "Sprog og EDB" (om maskinoversættelse, elektroniske ordbøger og den slags). Derudover havde jeg "Teknisk engelsk" og "Sproglig Informatik" som liniefag, og "Sproglig Informatik" handlede for en stor del om MS PowerPoint, MS Publisher samt lidt simpel hjemmesideproduktion.

Jeg kan forresten også kontaktes over ICQ (og til tider MSN). Se brugerinfo om mig her på siden.
Avatar billede mega-hawk Nybegynder
17. oktober 2004 - 14:26 #83
he he ja men vi hygger os da altid...
Nå men har addet dig til min msn...
Jeg bruger ikke icq for synes det er lidt begrænset iforhold til msn så...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester