尝试从命名空间加载类“Sm_Image_HandlerController”您是不是忘记了另一个命名空间的“使用”语句?

Posted

技术标签:

【中文标题】尝试从命名空间加载类“Sm_Image_HandlerController”您是不是忘记了另一个命名空间的“使用”语句?【英文标题】:Attempted to load class "Sm_Image_HandlerController" from namespace Did you forget a "use" statement for another namespace?尝试从命名空间加载类“Sm_Image_HandlerController”您是否忘记了另一个命名空间的“使用”语句? 【发布时间】:2015-11-07 11:04:49 【问题描述】:

创建类 Tools\MainBundle\Controller\Sm_Image_HandlerController

<?php

namespace Tools\MainBundle\Controller;
class Sm_Image_HandlerController

    public function test($param) 
        return $param;
    

其他类:

<?php

namespace FoodBundle\Controller;

use FoodBundle\Entity\FoodMaterialMapping;
use Symfony\Component\BrowserKit\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use FoodBundle\Entity\Food;
use Symfony\Component\Validator\Constraints\NotBlank;
use Tools\MainBundle\Controller\Sm_Image_HandlerController;

/**
 * Food controller.
 *
 */
class FoodController extends Controller 
public function indexAction() 
$param="sample";
$sm=new Sm_Image_HandlerController();
$sample=$sm->test($param);
return new \Symfony\Component\HttpFoundation\Response(sample);

如果在 foodController 类中运行函数 indexAction 返回错误

尝试从命名空间“Tools\MainBundle\Controller”加载类“Sm_Image_HandlerController”。 您是否忘记了另一个命名空间的“使用”语句?

src/FoodBundle/Controller/FoodController.php 第 23 行

<?php
 public function createAction(Request $request) 
        $param = "sample";
        $sm = new Sm_Image_HandlerController();
        $sample = $sm->test($param);
        return new \Symfony\Component\HttpFoundation\Response(sample);
    

【问题讨论】:

控制器名称请使用驼峰式,然后重试:Sm_Image_HandlerController to SmImageHandlerController 重命名文件和类 【参考方案1】:

你必须使用 CamelCase 命名 symfony 中的类和文件名 像这样重命名您的控制器及其文件

class SmImageHandlerController

    public function test($param) 
        return $param;
    

【讨论】:

以上是关于尝试从命名空间加载类“Sm_Image_HandlerController”您是不是忘记了另一个命名空间的“使用”语句?的主要内容,如果未能解决你的问题,请参考以下文章

尝试从命名空间加载类“Sm_Image_HandlerController”您是不是忘记了另一个命名空间的“使用”语句?

尝试从命名空间“App\DataFixtures”加载类“BaseFixture”。您是不是忘记了另一个名称空间的“使用”语句?

Symfony 5.1.3 清除缓存时的问题:尝试从命名空间加载类“MappingDriverChain”

PHP Symfony 试图从命名空间“Sonata\IntlBundle”加载类“SonataIntlBundle”[重复]

Zend Framework 1.11:如何自动加载使用命名空间的类

试图从命名空间加载类“MyApp”