mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
Improving App::import() to make importing from plugins work again
This commit is contained in:
parent
3f7a7cc5d1
commit
0bf51d92ca
2 changed files with 16 additions and 4 deletions
|
@ -145,7 +145,8 @@ class App {
|
|||
'components' => 'Controller/Component',
|
||||
'views' => 'View',
|
||||
'helpers' => 'View/Helper',
|
||||
'shells' => 'Console/Command'
|
||||
'shells' => 'Console/Command',
|
||||
'libs' => 'Lib'
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -228,7 +229,7 @@ class App {
|
|||
'%s' . 'vendors' . DS . 'shells' . DS . 'tasks' . DS,
|
||||
VENDORS . 'shells' . DS . 'tasks' . DS
|
||||
),
|
||||
'libs' => array('%s' . 'libs' . DS),
|
||||
'Lib' => array('%s' . 'libs' . DS),
|
||||
'locales' => array('%s' . 'locale' . DS),
|
||||
'vendors' => array('%s' . 'vendors' . DS, VENDORS),
|
||||
'plugins' => array(APP . 'plugins' . DS, CAKE_CORE_INCLUDE_PATH . DS . 'plugins' . DS)
|
||||
|
@ -262,8 +263,8 @@ class App {
|
|||
}
|
||||
}
|
||||
|
||||
$mergeExclude = array('libs', 'locales', 'vendors', 'plugins');
|
||||
$appLibs = empty($paths['libs']) ? $defaults['libs'] : $paths['libs'];
|
||||
$mergeExclude = array('Lib', 'locales', 'vendors', 'plugins');
|
||||
$appLibs = empty($paths['Lib']) ? $defaults['Lib'] : $paths['Lib'];
|
||||
|
||||
foreach ($defaults as $type => $default) {
|
||||
if (empty(self::$__packages[$type]) || empty($paths)) {
|
||||
|
@ -553,6 +554,15 @@ class App {
|
|||
$name .= ($suffix == $name) ? '' : $suffix;
|
||||
}
|
||||
|
||||
if (isset(self::$types[$originalType]['extends'])) {
|
||||
$extends = self::$types[$originalType]['extends'];
|
||||
App::uses($extends, $type);
|
||||
if ($plugin && in_array($originalType, array('controller', 'model'))) {
|
||||
$pluginName = substr($plugin, 0 , -1);
|
||||
App::uses($pluginName . $extends, $plugin . $type);
|
||||
}
|
||||
}
|
||||
|
||||
App::uses(Inflector::camelize($name), $plugin . $type);
|
||||
return (bool) self::load($name);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<?php
|
||||
App::uses('DataSource', 'Model/Datasource');
|
||||
|
||||
class TestSource extends DataSource {
|
||||
|
||||
function describe($model) {
|
||||
|
|
Loading…
Reference in a new issue