Php OpenEMR中我的第一个Symfony 2.4组件控制器

Php OpenEMR中我的第一个Symfony 2.4组件控制器,php,symfony,components,Php,Symfony,Components,我正在现有的应用程序OpenEMR中构建。我正试图建立一个报告的基础。我遵循了本教程中的说明 在编写此帮助请求时。我找到了这个答案 我将建议的routing.yml添加到程序的配置中,错误没有改变。它仍在生成此错误 [11-Oct-2019 08:23:43 America/New_York] PHP Fatal error: Uncaught Error: Class 'OpenEMR\Finance\Reports\financialSummaryByInsurance' not

我正在现有的应用程序OpenEMR中构建。我正试图建立一个报告的基础。我遵循了本教程中的说明

在编写此帮助请求时。我找到了这个答案

我将建议的routing.yml添加到程序的配置中,错误没有改变。它仍在生成此错误

 [11-Oct-2019 08:23:43 America/New_York] PHP Fatal error:  Uncaught Error: 
  Class 'OpenEMR\Finance\Reports\financialSummaryByInsurance' not found in 
   C:\oerm_dev\www\dev\mindfulemr4\interface\reports\insurance.php:5
    Stack trace:#0 {main} thrown in C:\oerm_dev\www\dev\mindfulemr4\interface\reports\insurance.php on line 5
因此,我采取的步骤如下。我编辑了composer.json以添加名称空间。在下面添加中间行之后,我使用dumpautoloader-o重新加载了composer

        "OpenEMR\\Billing\\" : "library/billing/src",
        "OpenEMR\\Finance\\Reports\\" : "library/financialReports/src",
        "OpenEMR\\Pdf\\" : "library/pdf/src",
我使用安装了路由组件

   composer require symfony/routing 2.4
我构建控制器时没有使用controller financialsummary byinsurance这个词,而是使用PHPStorm来帮助命名和创建类

    namespace OpenEMR\Finance\Reports;   //This will function as my controller event though not named controller

    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\Routing;                          //Making use of Symfony routing

    class financialSummaryByInsurance                      //Class controller name without the word controller
    {
        public function insurancepaid()
        {
            /**
             * @Route("/library/financialReports/src/financialSummaryByInsurance/insurancepaid", name = "insurancepaid")
             */
            return new Response("insurance data here my first controller from scratch"  );
        }

    }
然后,我想构建一个页面来调用控制器以显示来自控制器的信息。文件名为insurance.php,内容为

    use OpenEMR\Finance\Reports\financialSummaryByInsurance;

    $show = new financialSummaryByInsurance;

    echo $show->insurancepaid();
PHPStorm能够在insurance.php文件中找到并建议每个组件。这就是为什么我对错误日志中的错误消息感到困惑。我一定是在把这个框架从一楼拿下来的过程中遗漏了什么

似乎找不到类错误

执行 编写器转储自动加载以重新生成自动加载文件

我发现你们的路由类是不对的,应该是这样

使用Sensio\Bundle\FrameworkExtraBundle\Configuration\Route


ref:

要显示从控制器financialSummaryByInsurance返回的页面,必须使用与您定义的insurancepaid路由匹配的HTTP请求调用该页面

控制器只是一个PHP类,如果您实例化它,它不会显示html页面


如果你打电话给我http://yourdomain/library/financialReports/src/financialSummaryByInsurance/insurancepaid 您的require vendor/autoload.php行在哪里?控制器类的名称需要在其末尾有“controller”一词。您能否确认financialSummaryByInsurance类位于library/financialReports/src/financialSummaryByInsurance.php?如果不是的话,这可能是你上课的原因。。。找不到错误。如果是,请确保已更新composer中的自动加载,例如,使用composer dump autoload,如中的回答中所建议的Theva@dbrumann非常确定他们正在尝试独立完成一些事情,并且他们实际上根本不需要autoload.php文件。很遗憾,它们变暗了。是的,library/financialReports/src/financialSummaryByInsurance.php就在那个文件夹中。我检查了两次这两个单词的拼写。我发现一个拼写错误。这并没有解决问题。我放进去只是为了看看会发生什么。没有乐趣。你能试着将composer.json中的这一行修改为psr-4:{:src/},然后运行composer dump autoladtheva吗?我知道了。这是骆驼案。我必须大写文件名的第一个字母和类的第一个字母。简单的事情。