即使我认为我指定了 . 的权利AUTOLOAD_PATHS
,rector.php
我仍然收到相同的错误:Class Bake\View\Helper not found
.
我正在尝试将 CakePHP 3.10.1 插件转换为 CakePHP 4.0。
$ bin/cake upgrade rector --rules cakephp40 ../my_app/plugins/WetKit/src
[ERROR] Could not process "View/Helper/BakeHelper.php" file, due to:
"Analyze error: "Class Bake\View\Helper not found.". Include your files in
"$parameters->set(Option::AUTOLOAD_PATHS, [...]);" in "rector.php" config.
See https://github.com/rectorphp/rector#configuration".
rector.php
<?php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
// get parameters
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [
__DIR__ . '/src'
]);
$parameters->set(Option::AUTOLOAD_PATHS, [
'/c/Users/me/Downloads/xampp/htdocs/my_app/vendor/cakephp/bake/src/View/Helper/BakeHelper.php'
]);
// Define what rule sets will be applied
$containerConfigurator->import(SetList::DEAD_CODE);
// get services (needed for register a single rule)
// $services = $containerConfigurator->services();
// register a single rule
// $services->set(TypedPropertyRector::class);
};
my_app/plugins/WetKit/src/View/Helper/BakeHelper.php
<?php
namespace WetKit\View\Helper;
use Bake\Utility\Model\AssociationFilter;
use Cake\Core\Configure;
use Cake\Core\ConventionsTrait;
use Cake\Utility\Inflector;
use Cake\View\Helper;
use Cake\Datasource\ConnectionManager;
use Bake\View\Helper as WetKitHelper;
/**
* Bake helper
*/
class BakeHelper extends WetKitHelper
{
//code here
}