Я исследовал и попробовал разные методы, но я просто не могу передать переменную из основного класса в детский класс.Выполнение var_dump
всегда отображает NULL.Это из-за того, что я отправляю как массив?
Userdata.class.php
<?php
/**
* Class used for getting userdata
*/
class Userdata
{
public $userdata;
function __construct()
{
}
public function getUserData($username, $password)
{
$this->userdata = array
(
'arr_username' => $username,
'arr_password' => $password
);
return $this->userdata;
}
}
Authenticate.class.php
require_once('Userdata.class.php');
/**
* This class is used for user authentication/validation/form
*/
class Authentication extends Userdata
{
var $userdata;
function logIn()
{
var_dump($this->userdata);
}
}
session_handler.php
function formSubmitUser()
{
// Class the class Authentication
$userdata = new Userdata();
$userdata->authentication = new Authentication;
//First submit the form before processing the data
if (isset($_POST['submit']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$userdata->getUserData($username, $password);
$userdata->authentication->logIn();
}
}
Кажется, все работает, если я вручную добавляю значения в основной класс __construct.Но если я попытаюсь получить его из функции getUserData
, я не смогу заставить его работать.
function __construct()
{
$this->userdata = "Sending data like this works";
}
Я что-то упустил?