Как создать виртуальный хост для проекта QCubed в xampp в Windows?

в httpd-vhosts.conf я добавил:

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/tef_ticketing/workspace/htdocs"ServerName tef_ticketing.dev
ServerAlias www.tef_ticketing.dev
<Directory "C:/xampp/htdocs/tef_ticketing/workspace/htdocs">
DirectoryIndex home.php
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>

В C: \ Windows \ System32 \ drivers \ etc \ hosts:

127.0.0.1       localhost
127.0.0.1       www.tef_ticketing.dev

в файле config.inc.php

$url = "tef_ticketing.dev";
define("__DOCROOT_URL__", $url);

в home.php

<?php
require_once (dirname(__FILE__) . '/qcubed.inc.php');
\QApplication::Redirect('test_page');

в .htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ home.php [L,QSA]
RewriteRule ^$ ajax.php [L,QSA]
RewriteRule ^home$ home.php [L,QSA]
RewriteRule ^test_page$ form.php?form=TestForm [L,QSA]

В TestForm.class.php

<?php
namespace Tef_Ticketing\Presentation\Web\Forms;
use Tef_Ticketing\Presentation\Web\Forms\Form;

class TestForm extends Form {
protected $btnTest1;
protected $btnTest2;
protected $btnTest3;
protected $lblTest1;

protected function Form_Create() {
parent::Form_Create();

$this->btnTest1 = new \QButton($this);
$this->btnTest1->Text = 'save1';
$strJavaScript = "qc.pA('TestForm', 'btnTest2', 'QClickEvent', '', 'QFormWaitIcon');";
$this->btnTest1->AddAction(new \QClickEvent(), new \QAjaxAction('btnTest1_click'));
$this->btnTest1->AddAction(new \QClickEvent(), new \QJavaScriptAction($strJavaScript));

$this->btnTest2 = new \QButton($this, 'btnTest2');
$this->btnTest2->Text = 'save2';
$this->btnTest2->AddAction(new \QClickEvent(), new \QAjaxAction('btnTest2_click'));

$this->btnTest3 = new \QButton($this);
$this->btnTest3->Text = 'save3';
$this->btnTest3->AddAction(new \QClickEvent(), new \QAjaxAction('btnTest3_click'));

$this->lblTest1 = new \QButton($this);
$this->lblTest1->Text = 'init';
}

public function btnTest1_click() {
sleep(5);
$this->lblTest1->Text = 'a';
}

public function btnTest2_click() {
}

public function btnTest3_click() {
$this->lblTest1->Refresh();
}

}

Когда я захожу в браузер по следующей ссылке www.tef_ticketing.dev, я перенаправлен на http://www.tef_ticketing.dev/test_page , и это нормально. Но у меня есть ошибка:

Fatal error: Class 'Tef_Ticketing\Presentation\Web\Forms\Form' not found in C:\xampp\htdocs\tef_ticketing\workspace\tef_ticketing-presentation\src\Web\Forms\TestForm.class.php on line 5

1

Решение

Пытаться


class TestForm extends \Form {

вместо


class TestForm extends Form {

0

Другие решения

Кажется, у вас нет файла Tef_Ticketing \ Presentation \ Web \ Forms \ Form.class.php с определенным классом Form. В вашем файле вы полагаетесь на стандарт автозагрузчика PSR-4: http://www.php-fig.org/psr/psr-4/. Требуется прямая связь между именами пространства имен / классов, структурой папок файловой системы и именами файлов.

0

По вопросам рекламы [email protected]