[TYPO3-mvc] Controller name is composed with lower case

Michael Knoll mimi at kaktusteam.de
Mon Jan 24 14:03:06 CET 2011


Hi Reggie,

although it does not solve the question why it works on your development 
environment and not on your webserver, this seems to me like a spelling 
problem in one of your files.

Make sure that you wrote the controller name with uppercase first letter 
everywhere you need it. This includes:

ext_localconf.php file
link.action viewHelpers inside your templates
forwards and redirects in your controllers

just to give you some hints, where the error could be.

The makeInstance method is not the place to search for the error. Lookup 
your stacktrace when the error is thrown and take a look at which method 
/ class is calling makeInstance to get an idea of where the error is.


Hope this helps you!

Greetings

Mimi


Am 24.01.11 03:44, schrieb Reginaldo Arredondo:
> Hello everyone,
>
> I didn´t find anything on this problem on the Internet so far, so I need
> your help on this one.
>
> I uploaded a site I created on my XAMPP local server on typo3 4.4.4.
> On my host I have typo3 4.4.6.
> Extbase Versions are the same.
>
> The problem is the following: I created a frontend plugin extension for
> freight tracking. The extension allows logged in fe-users to create a
> booking entry with all details and to create events and comments to that
> booking. On my local XAMPP installation, everything works just fine.
> But on my webhost, when trying to create new events or comments to a
> booking, the following error is shown:
>
> Fatal error: Class 'Tx_RaFreighttracking_Controller_bookingController' not
> found in .../typo3_src-4.4.6/t3lib/class.t3lib_div.php on line 5272
>
> It is no problem to create a new booking entry. But ones that booking is
> created and I try to add events or comments, the error occurs. I did not
> change any of the code so I think it is related to the difference in typo3
> versions.
> I wonder why in 'Tx_RaFreighttracking_Controller_bookingController' the
> controller name "bookingController" is written in lower case. Shouldn´t  it
> be "BookingController"?
>
> in class.t3lib_div.php:
>
> 5242    /**
> 5243     * Creates an instance of a class taking into account the
> class-extensions
> 5244     * API of TYPO3. USE THIS method instead of the PHP "new" keyword.
> 5245    * Eg. "$obj = new myclass;" should be "$obj =
> t3lib_div::makeInstance("myclass")" instead!
> 5246     * You can also pass arguments for a constructor:
> 5247     *     t3lib_div::makeInstance('myClass', $arg1, $arg2,  ..., $argN)
> 5248     *
> 5249     * @param    string        Class name to instantiate
> 5250     * @return    object        A reference to the object
> 5251     */
> 5252    public static function makeInstance($className) {
> 5253            // holds references of singletons
> 5254        static $instances = array();
> 5255
> 5256            // Get final classname
> 5257        $className = self::getClassName($className);
> 5258
> 5259        if (isset($instances[$className])) {
> 5260                // it's a singleton, get the existing instance
> 5261           $instance = $instances[$className];
> 5262        } else {
> 5263            if (func_num_args()>  1) {
> 5264                   // getting the constructor arguments by removing this
> 5265                  // method's first argument (the class name)
> 5266                $constructorArguments = func_get_args();
> 5267                array_shift($constructorArguments);
> 5268
> 5269                $reflectedClass = new ReflectionClass($className);
> 5270                $instance =
> $reflectedClass->newInstanceArgs($constructorArguments);
> 5271            } else {
> 5272                $instance = new $className;
> 5273            }
> 5274
> 5275            if ($instance instanceof t3lib_Singleton) {
> 5276                    // it's a singleton, save the instance for later
> reuse
> 5277                $instances[$className] = $instance;
> 5278            }
> 5279        }
> 5280
> 5281        return $instance;
> 5282    }
>
>
> Does somebody know this error? How can I solve it?
>
> Since I don´t know where to search for a solution, please let me know if you
> need more information or code.
>
> Thanks for your help and greetings from Shanghai,
> Reggie



More information about the TYPO3-project-typo3v4mvc mailing list