2014-09-01 2 views
-1

Я закодировал очень простой класс PHP. но он не работает. мой PHP версия: 5.4.16

вот мой мой PHP код:PHP Класс кода не работает

class FirstClass 
{ 
    public $name = "hello, world!"; 

    public function displayName() 
    { 
     echo $this->name; 
    } 
} 

Я знаю его очень простой PHP-код, но не знаю, почему он не работает. это также не дает никаких ошибок или предупреждений. Я все еще новичок в PHP и пытаюсь понять, как работает PHP.

+0

Вы должны вызвать функцию для ее выполнения. –

+0

Добавление строки, 'displayname();' будет выполнять работу. –

+0

это должно работать, если вы создадите объект класса и вызовите открытый метод 'displayName()' –

ответ

3

Вы только что создали класс и определение для функции, однако вы ее не выполняете. Попробуйте это,

<?php 
    class FirstClass 
    { 
     public $name = "hello, world!"; 

     public function displayName() 
     { 
      echo $this->name; 
     } 

    } 

    $firstclass=new FirstClass; // Object for the class 

    $firstclass->displayName(); // Call the function with the object 
?> 

Demo here.

+0

благодаря его работе –

2

Попробуйте

class FirstClass 
{ 
    public $name = "hello, world!"; 

    public function displayName() 
    { 
    return $this->name; 
    } 
} 

$obj = new FirstClass();//Creating an object of the class 
echo $obj->displayName();//Calling the function 

Вы только что создали класс и определены функции в классе. Но вы никогда не вызывали класс и его функции. Для выполнения операторов внутри функции в классе вам нужно сделать две вещи.

  1. Создать объект класса

  2. Используя этот объект вызова функции, которая содержит нужный код.

И see this больше в документации

+4

Метод 'displayName' уже имеет' echo'. Нет необходимости писать 'echo' снова, когда вы его выполняете. – dashtinejad

+0

благодарит его работу –

1

Это должно работать, если вы создаете объект вашего класса и вызвать вашу функцию

как этот

class FirstClass 
{ 
    public $name = "hello, world!"; 

    public function displayName() 
    { 
    echo $this->name; 
    } 
} 

$obj = new FirstClass(); 
$obj->displayName(); 

SEE DEMO

+0

благодаря его работе –

1

Ваш код хорошо. Вы случайно не создаете экземпляр класса?

$foo = new FirstClass(); 
    $foo->displayName(); 

Класс классный, как описание. Это само по себе ничего не делает, если у него нет статических свойств/методов. Вы должны создать новый объект FirstClass.

Смежные вопросы