laravel - 我可以从控制器创建控制器吗?

问题描述:

我有一个控制器来创建一个控制器。 SiteController就是一个例子。laravel - 我可以从控制器创建控制器吗?

public function createSiteController() { 
    $controller_name = "SiteController"; 
    Artisan::call("make:controller", 
     [ 
      "name"=>$controller_name 
     ]); 
} 

它给我下面的错误。

file_put_contents(/Volumes/Data/www/cms/app/Http/Controllers/SiteController.php): 未能打开流:权限被拒绝

试图设置chmod("/Volumes/Data/www/cms/app/Http/Controllers", 0777),但它是不允许。

编辑:当然,我不想使用0777.这只是一个例子。我永远不会使用它。我只是说

+2

为什么你甚至需要这样做?它闻起来像是完全奇怪和破碎的设计充其量是 –

+0

你怎么能这么说?我正在构建一个CMS,您可以在其中动态创建控制器和模型。我可以在终端命令的帮助下做到这一点。每个人都有自己的要求如果你不想回答可以。 –

+0

尽管每个人都有理由去做某些事情,但请您重新考虑一下,从您的许可策略开始,“将文件权限设置为777”绝不是一个好主意。为什么要创建控制器,您如何计划编辑控制器内容? – milo526

所以,我有一个问题,使用控制器创建一个控制器。我无法使用artisian命令来完成它。

为什么我需要那个? 我创建了一个artisian命令。像这样的东西。 (PHP artisian CMS:控制器controllerName)

应当扩展到BaseAdminController而非默认控制器。所以我制作了一个模板来创建一个自定义控制器。就像laravel本身一样。

我已经使用以下步骤解决了此问题。 *首先,您需要在临时文件夹中创建一个新文件。 *操纵/改变任何你想要的文件。 *并使用副本命令将该文件(我的情况下的控制器)复制到您的Controller文件夹。