2016-06-15 2 views
-1

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

Я создал два PHP файлов dll.php и bll.php.

dll.php:

<?php 
    class mysql_helper 
    { 
     function testFunction() 
     { 
      echo "test Function executed";  
     } 
    } 
?> 

bll.php:

<?php 
    include('dll.php'); 

    class first 
    { 
     function first() 
     { 
      $dblayer = new mysql_helper(); 
      echo $dblayer->testFunction(); 
     } 
     echo first(); 
    } 
?> 

То, что я пытаюсь сделать это, чтобы напечатать возвращаемое значение из mysql_helper класса который определен в dll.php.

Я пробовал одну вещь, это то, что я изменил свой второй файл php file'c ​​(bll.php), как показано ниже, и он сработал.

<?php 
    include('dll.php'); 

    function first() 
    { 
     $dblayer = new mysql_helper(); 
     echo $dblayer->testFunction(); 
    } 
    echo first(); 
?> 

кто может мне помочь определить проблему в коде, пожалуйста ..

+0

Вы не можете просто разместить случайное 'echo first();' внутри класса. – Daan

+0

Я новичок в php, вы можете отправить мне пример кода? – RVB

+0

Я дал вам код и решение в своем ответе – nospor

ответ

3

echo не возвращают значение. echo просто отображает значение. если вы хотите вернуть значение, вы должны использовать return.

<?php 
    class mysql_helper 
    { 
     function testFunction() 
     { 
      return "test Function executed"; //return value  
     } 
    } 
?> 

Вы также не можете вызвать функцию внутри класса кузова. Вы должны сначала создать объект этого класса, а затем вызвать метод:

<?php 
    include('dll.php'); 

    class first 
    { 
     function first() 
     { 
      $dblayer = new mysql_helper(); 
      return $dblayer->testFunction(); //also return value 
     } 

    } 

    $first = new first(); 
    echo $first->first(); //now you can make echo 
?> 
Смежные вопросы