2013-09-12 2 views
0

У меня есть 2 файлаВызов функции из другого файла PHP

file1.php

<?php 
     Class A 
     { 
      public static function _test 
      { 
      } 
     } 
     function get_sql($id) 
     { 
     } 
     function get_data($ids) 
     { 
     } 
?> 

В file2.php я написал

require_once('file1.php'); 
    $a = get_sql($id); 

Почему я не могу вызвать функцию и получить мой результат ??

+0

сделали вы пробовали искать? –

+3

«Вызов функции из другого php-файла» - перед вызовом его из «другого файла» - вы могли бы запустить его из того же файла? Почему вы думаете, что запуск из другого файла - это нечто иное? – zerkms

+0

Его против парадигмы ООП – swapnesh

ответ

0

попробовать это в file1.php

<?php 
    Class A { 
    public static function _test { 
    } 
    function get_sql($id) { 
     echo $id; 
    } 
    function get_data($ids) { 
    } 
    } 
?> 

В file2.php первом необходим файл, а затем код этого

require_once('file1.php'); 
$a = new A(); 
$a->get_sql($id); 

ИЛИ отправить статическое значение в функции

$a->get_sql(5); 

Этот ваша первая ошибка в вашем коде

public static function _test{ 
    } 
    } //this bracket is related to the class 
+0

две функции находятся вне класса – user2210819

0

это вопрос, если вы хотите иметь функции get_sql() и get_data() в качестве методов внутри класса:

Если да код из user2727841 будет работать после того, как вы добавите круглые скобки в функция государственной статической функции _test:

public static function _test() 
    { 
    } 

Ваш код тоже будет работать после того, как вы добавляете те же кронштейны к одной и той же функции, но ваша функция get_sql() и get_data() находятся за пределами класса А.

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

+0

проблема заключается в том, что функции находятся вне класса – user2210819

0

Хорошо, что вы ничего не возвращаете от функции get_sql($id).

Предполагая, что вы возвращаете что-то в своем исходном коде; Надеюсь, вы знаете, что эта функция не является частью класса (она определена вне области действия класса). Но для образовательных целей вы бы вызвать статический метод в классе, выполнив:

$a = A::get_sql($id); 

Это также будет означать, определяющую функцию следующим образом:

Class A{ 
      public static function get_sql($id){ 
      echo $id; 
      } 
     } 
Смежные вопросы