Я включаю класс PHP с
require_once($ENGINE."/classUser.php");
, но когда код выполняется, я получаю эту ошибку:
Неустранимая ошибка: класс «Пользователь» не найден в C: \ xampp \ htdocs \ WebName \ resources \ engine \ ajax \ signup.php в строке 12
Я все еще не могу понять, в чем проблема. Я на 99% уверен, что это правильно.
"$ ENGINE" правильный, и класс тоже правильный (Netbeans предлагает мне методы и переменные класса).
signup.php:
<?php
/* Created on: 13/12/2011
* Author:
*
* Description: User signup procedure.
*/
require_once("../settings.php");
require_once($ENGINE."/classUser.php");
$user = new User();
$user->createUser($_POST["username"], $_POST["email"], $_POST["password"]);
?>
classUser.php:
<?php
/* Created on: 13/12/2011
* Author:
*
* Description: This class manages users.
*/
require_once("settings.php");
require_once($LIBRARY."/cassandraphp/cassandra.php");
class User {
public function createUser($username, $email, $password){
$cassandra = Cassandra::createInstance($CASSANDRASERVER);
$cassandra->set(
"user.".$username,
array(
'ID' => uniqid(),
'Username' => $username,
'Email' => $email,
'Password' => $password
)
);
}
}
?>
необходимо объявить пространство имен в ClassUser.php, чем-то вроде этого:
<?php
namespace app; // where 'app' is a folder declared as a root for the project
class ClassUser{
public function test(){
//log something here
}
}
?>
Затем можно добавить класс в других php файлах как это:
<?php
use app\ClassUser;
$classUserLcl = new ClassUser();
$classUserLcl->test();
?>
и Вы сделаны. Otherwize это злоупотребит:
Вы, О! это Фатальная ошибка: Непойманная Ошибка: Класс 'app\ClassUser' не найденный в...