2011-10-28 4 views
4

다음은 stats를 도와 줄 다른 페이지에서 호출하려고하는 샘플 코드입니다. 나는 그것이 작동하도록 할 수 없습니다. 다른 PHP 파일에서이 클래스를 가져오고 호출하려면 어떻게해야합니까? stats.phpPHP 클래스 가져 오기

<?php 

include("config.php"); 
$link = mysql_connect($host, $username, $password); 
mysql_select_db("mydb", $link); 

class stats{ 

    function newReg(){ 

    $result = mysql_query("SELECT * FROM people where status ='registered' ", $link); 
    $num_rows = mysql_num_rows($result); 
    return $num_rows ; 


function newApp(){ 
    $result = mysql_query("SELECT * FROM people where status = 'NEW' ", $link); 
    $num_rows = mysql_num_rows($result); 

    return $num_rows; 
} 
?> 

내가 다른 파일에 여기에 클래스를 호출 할 :

<?php 

require_once("stats.php"); 
    echo(stats.newReg()); 

?> 

내가 여기에 누락 뭔가가 있나요?

include 'statsclassfile.php'; 
$myStats = new stats(); 
$mystats->newReg(); 

PS : 명명 규칙은 일반적으로 예를 들어, 클래스 이름은 대문자로 시작합니다 :

+0

다른 페이지에 코드를 포함시키려는 코드를 보지 않고서도 도움이되지 않습니다. –

답변

10

당신은,

<?php 

include("config.php"); 
$link = mysql_connect($host, $username, $password); 
mysql_select_db("mydb", $link); 

class stats{ 

    function newReg(){ 
    global $link; 
    $result = mysql_query("SELECT * FROM people where status ='registered' ", $link); 
    $num_rows = mysql_num_rows($result); 
    return $num_rows ; 
    } 

function newApp(){ 
    global $link;   
    $result = mysql_query("SELECT * FROM people where status = 'NEW' ", $link); 
    $num_rows = mysql_num_rows($result); 

    return $num_rows; 
} 
} 
?> 

어쨌든 다른 파일을 2 닫는 괄호

를 잊어 Stats

+0

댓글을 주셔서 감사합니다. 그러나 나는 받고 있어요 치명적인 오류 : /home/default/helen/testStats.php에있는 객체가 아닌 객체의 newReg() 함수를 호출합니다.

+0

시작 부분에'error_reporting (E_ALL); testStats.php 파일을 열어 클래스가 인스턴스가 아닌 이유에 대한 자세한 내용을 스크립트가보고하는지 확인하십시오. 하나의 질문입니다. 3 개의 파일 (config.php, testStats.php 및 다른 파일)이 모두 같은 디렉토리에 있습니까? – Roman

+0

실제로'$ link'는 전역 공간에서 선언됩니다. 즉, 전역 적으로 선언하지 않고도 함수 내에서 액세스 할 수 없습니다. 이 변경 사항을 포함하도록 답변을 업데이트하겠습니다. (이것은 포함 문제와 관련이 없습니다.) – Roman

0

경로가 맞는지 확인하십시오. config.php 파일이 같은 폴더에 없을 수도 있습니다.

require_once $_SERVER['DOCUMENT_ROOT'] . "/path_to_config/config.php"; 

같은 절대 경로를 사용할 수 있습니다 그리고 통계 클래스를 호출 :

require_once PATH_TO_YOUR_CLASS . "stats.php" 

은 또한 당신이 낙타 표기법 이름으로 클래스의 이름을 확인합니다.