Не понимаю ошибку. Как он его не находит если я всё указал? Перехожу с java на php и может не замечаю тупую ошибку но из-за непривычки.
Использую PHPUnit.
1-й вариант:
<?php namespace ClassTester;
use PHPUnit_Framework_TestCase;
use data\User;
use model\DBHandler; // Указал !!!
class ClassTester extends PHPUnit_Framework_TestCase {
public function testExist(){
$handler = new DBHandler();
$exist = $handler->exist(new User(******", "*****", "*****", "*******"));
if($exist){
echo "User exist in database! ";
}elseif(!$exist){
echo "<pre>";
echo "You need to register this user it is not exist! ";
echo "</pre>";
}
}
2-й вариант:
<?php
use data\User;
class ClassTester extends PHPUnit_Framework_TestCase {
public function testExist(){
$handler = new\model\DBHandler();
$exist = $handler->exist(new User(******", "*****", "*****", "*******"));
if($exist){
echo "User exist in database! ";
}elseif(!$exist){
echo "<pre>";
echo "You need to register this user it is not exist! ";
echo "</pre>";
}
}
Ошибка которую получаю в обоих случаях:
Fatal error: Uncaught Error: Class 'model\DBHandler' not found in /Applications/XAMPP/xamppfiles/htdocs/PHPUnitP/projectfiles/tests/classtester/ClassTester.php:8
Неймспейсы в PHP глобализуют идентификаторы. Т.е.
namespace ClassTester;
class ClassTester {
объявляет класс с именем ClassTester\ClassTester. Объявление
namespace ClassTester1;
class ClassTester {
объявит совершенно другой класс.
Оператор use позволяет указать какой именно идентификатор мы используем и не писать его полное имя.
При этом, если мы используем какой-то идентификатор, объявленный в другом файле, то мы должны этот файл подключить к нашему при помощи операторов inclide/require (_once) (явно или опосредовано)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей