Avatar billede mahyar Nybegynder
12. september 2013 - 18:17 Der er 6 kommentarer og
1 løsning

Kalde et Objekt

Hej

jeg har 2 klasser User og Login.

Fra Login klassen vil jeg gerne kunne tilgå klassen User, men det kan jeg ikke lige gøre. Ved ikke hvad der går galt. Når jeg prøver på at tilgå klassen fra Login skriver jeg følgende:

$login  = new User(); men intellisense viser mig ikke klassen User på listen.



**************************************
Login Klassen:
**************************************

<?php
    /**
    *
    */
    include 'User.php';
    class Test  {
       
        function __construct() {
           
        }
       
        public function Test()
        {
            $test = new User();   
        }
    }
   
?>


**************************************
User Klassen:
**************************************

<?php
    /**
    * A class for User information (Username, password)
    */
    class User {
       
        private $userName;
        private $passWord;
       
        function __construct($userName,$passWord )
        {
            $this ->$userName =  $userName;
            $this ->$password  = $passWord;
        }
       
        public function getUserName()
        {
              return $this->$userName;
        }
       
        public function getPassword()
        {
              return $this->$passWord;
        }
       
       
        public function checkLogin($userName, $passWord)
        {
            if($userName == "mdam" && $passWord == "1234")
            {
                return TRUE;
            }
           
            else
            {
                return FALSE;
            }
           
        }
       
    }
   
?>
Avatar billede repox Seniormester
12. september 2013 - 19:10 #1
Hvad er intellisense?
Avatar billede herlevsen123 Nybegynder
12. september 2013 - 19:26 #2
Som repox ved jeg heller ikke hvad intellisense er.

Men din constructor accepterer 2 parametre, så det skal du naturligvis give den.

$login  = new User("Bob","kodeord");

Udover det har du brugt camelCase til din password property, men i constructoren har du stavet det med småt. Det skal naturligvis også staves camelCase: $this ->$passWord  = $passWord;

Når det så er sagt, så synes jeg at du skal genoverveje om du vil bruge camelCase i php, da min erfaring at de fleste udviklere bruge underscore istedet. Men der er ikke en rigtig og forkert (:
Avatar billede repox Seniormester
12. september 2013 - 19:44 #3
Klassemedlemmer tligås i øvrigt heller ikke med $this->$variabel men med $this->variabel.
Avatar billede arne_v Ekspert
12. september 2013 - 19:46 #4
intellisense er autocomplete paa MS'sk
Avatar billede mahyar Nybegynder
12. september 2013 - 20:25 #5
hej Tak for jeres kommentarer.
Herlevsen og Repox vil I sende et svar, så kan I deles om point.
Avatar billede repox Seniormester
13. september 2013 - 08:39 #6
#4
Jeg trænger vist til at udvide min horisont lidt ;-)

#5
Svar fra mig
Avatar billede herlevsen123 Nybegynder
17. september 2013 - 12:59 #7
Svar
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

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