1

I included a set of helper classes under a directory called Model, inside a Bundle.

This is how the main directory looks like:

OfflineAnalyticsDev
    Source Files
        /app
        /bin
        /app
        /src
            ...
            /OfflineAnalytics
                /OfflineAnalyticsBundle
                    /Controller
                    /DependencyInjection
                    /Model
                        ...
                        SugarCrmConnect.php
                    /Resources
                    /Tests
                    ...
                OfflineAnalyticsOfflineAnalyticsBundle.php
        /vendor
        /web

Inside SugarCrmConnect.php I have a class called SugarCrmConnect

    namespace OfflineAnalytics\OfflineAnalyticsBundle\Model;

    class SugarCrmConnect
    {
        public static $urlSuffix = "service/v4/soap.php?wsdl";
        public static function login($crmHost, $username, $password)
        {
...

I am trying to call the Login method from my DefaultController, but it always shows a ClassNotFoundException. I am even calling other classes from the Model directory/namespace which do work, but this one specifically doesn't.

namespace OfflineAnalytics\OfflineAnalyticsBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use OfflineAnalytics\OfflineAnalyticsBundle\Model\GoogleAnalyticsHit;
use OfflineAnalytics\OfflineAnalyticsBundle\Model\GoogleAnalyticsUploadService;
use OfflineAnalytics\OfflineAnalyticsBundle\Model\SugarCrmConnect;

class DefaultController extends Controller
{
    public function indexAction()
    {
        $response = new Response();
        $hit = new GoogleAnalyticsHit('*******', '******','***', '***','**', '***');
        GoogleAnalyticsUploadService::uploadHit($hit);

        $loginResult = SugarCrmConnect::login("************", "***",     "***");
        return $response->setContent('<html><body><h1>'.$loginResult['id'].'</h1></body>    </html>');
    }
}

I have tried changing the filename to match the classname and everything, but it still doesn't work.

Here is the full error message:

Attempted to load class "SugarCrmConnect" from namespace "OfflineAnalytics\OfflineAnalyticsBundle\Model" 
in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\OfflineAnalyticsDev\src\OfflineAnalytics\OfflineAnalyticsBundle\Controller\DefaultController.php line 19. 
Do you need to "use" it from another namespace?

INFO - Matched route "offline_analytics_offline_analytics_homepage" (parameters: "_controller": "OfflineAnalytics\OfflineAnalyticsBundle\Controller\DefaultController::indexAction", "_route": "offline_analytics_offline_analytics_homepage") 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener::injectLogger". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener::injectLogger". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener::injectLogger". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest". 
DEBUG - Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Acme\DemoBundle\EventListener\ControllerListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". 
EMERGENCY - Class 'OfflineAnalytics\OfflineAnalyticsBundle\Model\SugarCrmConnect' not found 
CRITICAL - Uncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundException: "Attempted to load class "SugarCrmConnect" from namespace "OfflineAnalytics\OfflineAnalyticsBundle\Model" in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\OfflineAnalyticsDev\src\OfflineAnalytics\OfflineAnalyticsBundle\Controller\DefaultController.php line 19. Do you need to "use" it from another namespace?" at C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\OfflineAnalyticsDev\src\OfflineAnalytics\OfflineAnalyticsBundle\Controller\DefaultController.php line 19 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener::injectLogger". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener::injectLogger". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener::injectLogger". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest".
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". 
DEBUG - Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest". 
DEBUG - Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Acme\DemoBundle\EventListener\ControllerListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener::onKernelController". 
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController". 

Any ideas? Am I missing something?

2
  • > Inside SugarCrmConnect.php I have a class called SugarConnect --> in PSR-0 the classname must be equal to the filename. Commented Dec 1, 2014 at 9:16
  • Sorry, that was a Typo, the classname is SugarCrmConnect. Commented Dec 1, 2014 at 17:23

1 Answer 1

1

It turns out I had to register my namespaces manually in autoload_classmap.php, located at vendor/composer/

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.