これは本当に物事の名前を変更するだけの場合です:コントローラの名前
更新Module.php
アップデートを含むモジュール内のすべてのクラスでのアプリケーションから研究所へのすべての名前空間、それがエントリーですin config/module.config.php
ビューディレクトリの名前を更新していることを確認してください(view/application/indexなど)ので、/ institute/indexを見て、エントリを更新してくださいmodule.config.php内の同じパスへ
アプリケーションディレクトリの名前をInstituteに更新します
modules.config.php内のモジュールの配列内の名前を更新するか、modulesキーの下にある以前のバージョンのapplication.config.phpを使用している場合は更新してください。
を:私はあなたのことを考えることができるすべてのですが、以下のように基本的な考え方は次のようになり
********
******** EDITを行う必要があるだろう
新しいモジュールにコンソールを追加しますが(私は、Zend MVCコンソールを使用しましたが、MVCコンソールが廃止されましたとして、あなたはおそらくhttps://github.com/zfcampus/zf-consoleを使用する必要があります)
module.config.php
<?php
namespace Rename;
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'console' => array(
'router' => array(
'routes' => array(
'rename-module' => array(
'options' => array(
'route' => 'module rename <moduleNameOld> <moduleNameNew>',
'defaults' => array(
'controller' => Controller\IndexController::class,
'action' => 'rename'
)
)
)
)
)
),
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
],
],
];
IndexController.php
<?php
namespace Rename\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Zend\Console\Request as ConsoleRequest;
use Zend\Mvc\Console\Controller\AbstractConsoleController;
class IndexController extends AbstractConsoleController
{
public function renameAction()
{
$request = $this->getRequest();
// Make sure that we are running in a console and the user has not tricked our
// application into running this action from a public web server.
if (!$request instanceof ConsoleRequest) {
throw new \RuntimeException('You can only use this action from a console!');
}
$moduleNameOld = $request->getParam('moduleNameOld');
$moduleNameNew = $request->getParam('moduleNameNew');
$module = file_get_contents(getcwd() . "/module/$moduleNameOld/src/Module.php", 'r+');
$updatedModule = str_replace($moduleNameOld, $moduleNameNew, $module);
file_put_contents(getcwd() . "/module/$moduleNameOld/src/Module.php", $updatedModule);
rename("module/$moduleNameOld", "module/$moduleNameNew");
}
}
は、これは私がここでしかモジュールの名前を変更し、仕上げにModule.php
で名前空間の名前を変更するやった
php public/index.php module rename Application Institute
のように実行することができますこれは、Applicationディレクトリ内のすべての.phpファイルを再帰的に検索し、replace(本当に改善する必要があります)という文字列を適用する必要があります。同様のロジックと上記の手順を使用して、ビューとアプリケーションレベルの設定を更新することもできます。
私が書いたコードは非常に悪く、おそらく安全ではありませんが、道に沿って助けてくれるかもしれません。
達成しようとしていることは何ですか?Applicationというモジュールがあり、これをInstituteに名前を変更したいと言っていますか? –
はい@PurpleHexagon。私は悪い質問のために質問をするのが禁止されているので、この投稿や他の投稿への編集に感謝します。 – Seeker