1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-12 03:34:04 +02:00

[ticket/11700] Fix extension loading with namespaces

class loader now expects all classes to be prefixed with a backslash
when resolving paths

PHPBB3-11700
This commit is contained in:
Nils Adermann
2013-09-19 18:29:08 +02:00
parent f205c4fad4
commit fe36375a36
23 changed files with 72 additions and 46 deletions

View File

@@ -78,7 +78,7 @@ class phpbb_functional_extension_controller_test extends phpbb_functional_test_c
$this->phpbb_extension_manager->enable('foo/bar');
$crawler = self::request('GET', 'app.php/foo/baz', array(), false);
$this->assert_response_html(500);
$this->assertContains('Missing value for argument #1: test in class phpbb_ext_foo_bar_controller:baz', $crawler->filter('body')->text());
$this->assertContains('Missing value for argument #1: test in class foo\bar\controller\controller:baz', $crawler->filter('body')->text());
$this->phpbb_extension_manager->purge('foo/bar');
}

View File

@@ -69,7 +69,7 @@ class phpbb_functional_extension_module_test extends phpbb_functional_test_case
$modules->update_module_data($parent_data, true);
$module_data = array(
'module_basename' => 'phpbb_ext_foo_bar_acp_main_module',
'module_basename' => 'foo\\bar\\acp\\main_module',
'module_enabled' => 1,
'module_display' => 1,
'parent_id' => $parent_data['module_id'],
@@ -90,7 +90,7 @@ class phpbb_functional_extension_module_test extends phpbb_functional_test_case
{
$this->login();
$this->admin_login();
$crawler = self::request('GET', 'adm/index.php?i=phpbb_ext_foo_bar_acp_main_module&mode=mode&sid=' . $this->sid);
$crawler = self::request('GET', 'adm/index.php?i=foo\\bar\\acp\\main_module&mode=mode&sid=' . $this->sid);
$this->assertContains("Bertie rulez!", $crawler->filter('#main')->text());
$this->phpbb_extension_manager->purge('foo/bar');
}

View File

@@ -8,6 +8,8 @@
*
*/
namespace foo\bar\acp;
/**
* @ignore
*/
@@ -16,12 +18,12 @@ if (!defined('IN_PHPBB'))
exit;
}
class phpbb_ext_foo_bar_acp_main_info
class main_info
{
function module()
{
return array(
'filename' => 'phpbb_ext_foo_bar_acp_main_module',
'filename' => 'foo\bar\acp\main_module',
'title' => 'ACP_FOOBAR_TITLE',
'version' => '1.0.0',
'modes' => array(

View File

@@ -8,6 +8,8 @@
*
*/
namespace foo\bar\acp;
/**
* @ignore
*/
@@ -16,7 +18,7 @@ if (!defined('IN_PHPBB'))
exit;
}
class phpbb_ext_foo_bar_acp_main_module
class main_module
{
var $u_action;

View File

@@ -1,6 +1,6 @@
services:
foo_bar.controller:
class: phpbb_ext_foo_bar_controller
class: foo\bar\controller\controller
arguments:
- @controller.helper
- @template

View File

@@ -1,7 +1,10 @@
<?php
namespace foo\bar\controller;
use Symfony\Component\HttpFoundation\Response;
class phpbb_ext_foo_bar_controller
class controller
{
protected $template;

View File

@@ -8,6 +8,8 @@
*
*/
namespace foo\bar\event;
/**
* @ignore
*/
@@ -22,7 +24,7 @@ if (!defined('IN_PHPBB'))
*/
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class phpbb_ext_foo_bar_event_permission implements EventSubscriberInterface
class permission implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{

View File

@@ -8,6 +8,8 @@
*
*/
namespace foo\bar\event;
/**
* @ignore
*/
@@ -22,7 +24,7 @@ if (!defined('IN_PHPBB'))
*/
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class phpbb_ext_foo_bar_event_user_setup implements EventSubscriberInterface
class user_setup implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{

View File

@@ -1,6 +1,8 @@
<?php
class phpbb_ext_foo_bar_ext extends \phpbb\extension\base
namespace foo\bar;
class ext extends \phpbb\extension\base
{
}