2010-06-01 3 views
0

Я создал класс в php, который будет унаследован другим классом в другой папке. когда я положил echo $ this-> protectedvariableofclass; // в функции подкласса это не дает никакой ценности запомнить мой базовый класс хранится \ класс \ User.php sublass хранится как \ модели \ model_user.php Пожалуйста, помогите мне Заранее спасибоДоступ к родительскому классу наследуемой переменной в подклассе в PHP

Базовый класс в \ класс \ user.php

<?php 

class user 

{ 
    protected $user_id; 
    //setter method 
public function set_user_id($user_id) 
{ 

      $this->user_id=$user_id; 
} 
    //getter method 
    public function get_user_id() 
    { 
       return $this->user_id; 
    } 

} 
?>  

Подкласс в \ модели \ model_user.php

<?php 

require_once 'class/user.php'; 

class model_user extends user 
{ 
public function checkUser() 

    { 

    echo $this->user_id; 
    $sql = "SELECT * FROM user WHERE user_id='$this->user_id'"; 
     $result = mysql_query($sql); 
     if(!result) 
     { 
     die('error'.mysql_error()); 
     } 
     $duplicates = mysql_num_rows($result); 
     if($duplicates > 0) 
      return 1; 
     else 
      return 0; 

    } 

} 
+0

Вы должны размещать код –

+0

разместил код – Abhishek

ответ

0

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

+0

actully он назначен в index.php в корневой папке используя $ myuser-> set_user_id ($ user); – Abhishek

1

Может быть, вы сделали это уже, но в случае, если это не так, попробуйте это:

$model_user = new model_user(); 
$model_user->set_user_id(5); 

$model_user->checkUser(); // Should output 5 
Смежные вопросы