【问题标题】:unable to find the class in namespace in laravel 5.2无法在 laravel 5.2 的命名空间中找到类
【发布时间】:2016-06-20 16:59:06
【问题描述】:

Ui 文件夹路径=> resources\views\DistributorRegitration.php

< ?php

namespace resources\views;

    class DistributorRegitrationForm
    {

        public  function distributorRegitrationFormHtml(){

            return  'hello'
    }

    }

控制器文件夹路径 => App\Http\Controllers\DistributorRegistration.php

< ?php 

namespace App\Http\Controllers;

use App\User;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use resources\views\DistributorRegitrationForm;


class DistributorRegistration  extends Controller

{ 

public function VestigePOS_DistributorRegistration()

{

$distribtutor_reg_form_obj = new DistributorRegitrationForm(); //class in DistributorRegistration.php            
$returned_dist_reg_html = $distribtutor_reg_form_obj->distributorRegitrationFormHtml(); // Function in DistributorRegistrationForm class.

return view($returned_dist_reg_html) ;      
}

}

?>

当我调用这个控制器时 致命错误:找不到类 'resources\views\DistributorRegitrationForm'

【问题讨论】:

  • 请格式化您的代码
  • 您是否创建了上述视图
  • 查看屏幕截图已更新
  • 我想从 UI 返回一个函数到控制器
  • 从 Ui 注入方法

标签: php laravel laravel-5.2


【解决方案1】:

重命名视图 DistributorRegitration.blade.php 并将其中的类移动到 app 文件夹中的新文件中,例如名称为 DistributorRegitrationFormClass.php

然后在控制器中更改这一行:

use resources\views\DistributorRegitrationForm;

use App\DistributorRegitrationForm;

和返回视图语句到

return view('DistributorRegitration', ['returned_dist_reg_html' => $returned_dist_reg_html]);   

在视图中写入{{returned_dist_reg_html}} 会神奇地出现'hello'。

【讨论】:

    【解决方案2】:

    您需要在 composer.json 的 autoload classmap 部分中注册文件或目录才能自动加载该类。

    {
        ...
        "autoload": {
            "classmap": [
                "database",
                "resources/views/"
            ]
        }
        ...
    }
    

    【讨论】:

      【解决方案3】:

      resources\views\DistributorRegitration.php 重命名为resources\views\DistributorRegitrationForm.php

      【讨论】:

      • 尝试将类添加到自动加载器。
      • 如何在自动加载器中添加类?请解释
      • 更新 composer.json "autoload" 部分:"classmap": [ "database", "resources/views" ] 并从终端 composer dump-autoload 运行以更新自动加载器。
      猜你喜欢
      • 2016-05-03
      • 2016-11-27
      • 2015-09-23
      • 2015-03-06
      • 2021-12-31
      • 2014-04-05
      • 2015-06-19
      • 2014-10-19
      相关资源
      最近更新 更多