abstract class AbstractExampleModules in X Autoload 7.5
Hierarchy
- class \Drupal\xautoload\Tests\Example\AbstractExampleModules implements ExampleModulesInterface
Expanded class hierarchy of AbstractExampleModules
1 file declares its use of AbstractExampleModules
- AbstractDrupalBootTest.php in tests/
src/ DrupalBootTest/ AbstractDrupalBootTest.php
File
- tests/
src/ Example/ AbstractExampleModules.php, line 12
Namespace
Drupal\xautoload\Tests\ExampleView source
abstract class AbstractExampleModules implements ExampleModulesInterface {
/**
* Replicates drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.module$/', 'modules', 'name', 0)
*
* @see drupal_system_listing()
*
* @return object[]
*/
public function drupalSystemListingModules() {
$modules = array();
foreach ($this
->getAvailableExtensions() as $name => $type) {
if ('module' !== $type) {
continue;
}
$modules[$name] = (object) array(
'uri' => $this
->getExtensionFilename($type, $name),
'filename' => $name . '.module',
'name' => $name,
);
}
return $modules;
}
/**
* @return string[]
* Extension types by name.
*/
protected abstract function getAvailableExtensions();
/**
* @return true[]
*/
public function getBootstrapModules() {
$bootstrap_modules = array();
foreach ($this
->discoverModuleFilenames('module') as $name => $filename) {
$php = file_get_contents($filename);
foreach (PureFunctions::bootstrapHooks() as $hook) {
if (FALSE !== strpos($php, 'function ' . $name . '_' . $hook)) {
$bootstrap_modules[$name] = TRUE;
break;
}
}
}
return $bootstrap_modules;
}
/**
* @param \Drupal\xautoload\Tests\DrupalBootTest\AbstractDrupalBootTest $testCase
*/
public function assertLoadExampleClasses(AbstractDrupalBootTest $testCase) {
foreach ($this
->getExampleClasses() as $class) {
$testCase
->assertLoadClass($class);
}
}
/**
* @return array[]
*/
public abstract function getExampleClasses();
/**
* @param string $type
* E.g. 'module'
*
* @return string[]
*/
function discoverModuleFilenames($type) {
$filenames = array();
foreach ($this
->getAvailableExtensions() as $name => $itemType) {
if ($type !== $itemType) {
continue;
}
$filenames[$name] = $this
->getExtensionFilename($type, $name);
}
return $filenames;
}
/**
* @param string $type
* @param string $name
*
* @return string
*/
public function getExtensionFilename($type, $name) {
if ('xautoload' === $name) {
return dirname(dirname(dirname(__DIR__))) . '/xautoload.module';
}
$file = dirname(dirname(__DIR__)) . '/fixtures/.modules/' . $name . '/' . $name . '.module';
if (is_file($file)) {
return $file;
}
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AbstractExampleModules:: |
public | function | ||
AbstractExampleModules:: |
function |
Overrides ExampleModulesInterface:: |
||
AbstractExampleModules:: |
public | function |
Replicates drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.module$/', 'modules', 'name', 0) Overrides ExampleModulesInterface:: |
|
AbstractExampleModules:: |
abstract protected | function | 2 | |
AbstractExampleModules:: |
public | function |
Overrides ExampleModulesInterface:: |
|
AbstractExampleModules:: |
abstract public | function | 2 | |
AbstractExampleModules:: |
public | function | ||
ExampleModulesInterface:: |
public | function | Replicates drupal_parse_info_file(dirname($module->uri) . '/' . $module->name . '.info') | 2 |